我有一个iPhone应用程序,在其中正在applicationDidBecomeActive:中进行测试,如果选定的viewcontroller的rootview存在,那么我想调用一个Web服务,否则当我从后台来到前台时,我不在进行堆栈检查。 。但是现在,即使我在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;

    }


}


在这里,商人新闻没有被调用。

最佳答案

    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
   }

09-25 15:32