如何检查我是否在tabbar项目中的viewcontroller的根视图中?

时间:2012-08-09 06:55:26

标签: iphone ios ipad

我有一个iPhone应用程序,我在applicationDidBecomeActive:中测试如果所选的viewcontroller的rootview在那里,那么我想调用一个webservice,否则当我从后台来到前台我正在筹码并检查它。但是现在即使我在rootview中,web服务也没有被调用。有人可以帮我吗?

这是我的代码段:

- (void)applicationDidBecomeActive:(UIApplication *)application{
    NSLog(@"applicationWilssnd");
    if(tabBarController.selectedIndex==0)
    {

        NSArray *mycontrollers = self.tabBarController.viewControllers;
        NSLog(@"%@",mycontrollers);
        ///if([mycontrollers objectAtIndex:0]!=)
        ///[[mycontrollers objectAtIndex:0] popToRootViewControllerAnimated:NO];
        PinBoardViewController *pinvc=(PinBoardViewController*)[[mycontrollers objectAtIndex:0]topViewController] ;
        if([mycontrollers objectAtIndex:0]!=pinvc)
        {

        }
        else
        {
        [pinvc merchantnews];
        }
        mycontrollers = nil; 

      tabBarController.selectedIndex = 0;  

    }


}

`这里的商家新闻没有被调用。

1 个答案:

答案 0 :(得分:1)

    PinBoardViewController *pinvc=(PinBoardViewController*)[[mycontrollers objectAtIndex:0]topViewController] ;
    if([mycontrollers objectAtIndex:0]!=pinvc)

而不是这个,试试这个

   PinBoardViewController *pinvc=(PinBoardViewController*)[[mycontrollers objectAtIndex:0]topViewController] ;
   if(pinvc isKindOfClass:[PinBoardViewController class]){
    // Do ur stuff
   }