Iphone 在tabBarController更改时执行操作

Iphone 在tabBarController更改时执行操作,iphone,objective-c,cocoa-touch,Iphone,Objective C,Cocoa Touch,我有一个tabbar应用程序,它有一个屏幕,根据多个选项卡屏幕的TableView中显示的数据显示统计信息。我想在再次选中stats视图后刷新此视图。我已经实现了tabbarcontrollerdelegate协议,以便在viewcontroller.tabbaritem.title为QualToString:@“foo”时执行操作。这对我的nslog语句很好,但当我尝试触发viewcontroller执行viewdidload方法时,它从未发生过。刷新stats视图的代码在viewdidloa

我有一个tabbar应用程序,它有一个屏幕,根据多个选项卡屏幕的TableView中显示的数据显示统计信息。我想在再次选中stats视图后刷新此视图。我已经实现了tabbarcontrollerdelegate协议,以便在viewcontroller.tabbaritem.title为QualToString:@“foo”时执行操作。这对我的nslog语句很好,但当我尝试触发viewcontroller执行viewdidload方法时,它从未发生过。刷新stats视图的代码在viewdidload方法中

来自我的AppDelegate

- (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
    }

}

不要自己调用
viewDidLoad
。这是在加载视图后发送到视图控制器的委托方法,您不应该手动调用它

在这种情况下,具有由选项卡栏控制器管理的视图的视图控制器被发送到
视图将出现:
视图显示:
视图将消失:
视图消失

在显示和隐藏视图时,应使用这些方法执行操作

示例:实现
视图显示:
并刷新统计视图

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated]; // don't forget to call super, this is important

    // do your refreshing here
}

不要自己调用
viewDidLoad
。这是在加载视图后发送到视图控制器的委托方法,您不应该手动调用它

在这种情况下,具有由选项卡栏控制器管理的视图的视图控制器被发送到
视图将出现:
视图显示:
视图将消失:
视图消失

在显示和隐藏视图时,应使用这些方法执行操作

示例:实现
视图显示:
并刷新统计视图

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated]; // don't forget to call super, this is important

    // do your refreshing here
}