탭 화면의 테이블 뷰에 표시된 데이터를 기반으로 통계를 표시하는 하나의 화면이있는 탭바 응용 프로그램이 있습니다. 통계보기가 다시 선택되면이보기를 새로 고침하고 싶습니다. viewcontroller.tabbaritem.title isequaltostring : @ "foo"가 실행될 때 액션을 취하기 위해 tabbarcontrollerdelegate 프로토콜을 구현했습니다. 내 nslog 문을 잘 작동하지만 viewcontroller를 실행하여 viewdidload 메서드를 실행하면 결코 발생하지 않습니다. 그리고 통계보기를 새로 고치는 코드는 viewdidload 메소드에 있습니다. 내 AppDelegate에에서tabBarController가 변경 될 때 작업 수행
- (void)tabBarController:(UITabBarController*)tabBarController didEndCustomizingViewControllers: (NSArray*)viewControllers changed:(BOOL)changed
{
}
- (void)tabBarController:(UITabBarController*)tabBarController didSelectViewController:(UIViewController*)viewController {
if([viewController.tabBarItem.title isEqualToString:@"Summary"]) {
NSLog(@"didSelectViewController %@", viewController.tabBarItem.title);
[viewController viewDidLoad]; //FAIL
}
}