0

選択したビューコントローラーのルートビューが存在する場合にテストしている iPhone アプリケーションがありますapplicationDidBecomeActive:。それ以外の場合は、バックグラウンドからフォアグラウンドに移動するときではなく、スタックを取得してチェックしています。しかし、ルートビューにいる場合でも、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;  

    }


}

「ここではマーチャントニュースが呼び出されていません。

4

1 に答える 1

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
   }
于 2012-08-09T07:15:03.500 に答える