0

我有一个使用自动登录的 iPhone 应用程序。所以我将凭据存储在本地并执行自动登录。我在应用程序中有一个注销按钮,我在其中弹出回堆栈中的登录控制器。但是,如果用户在后台清除应用程序(通过双击主页按钮),那么当他尝试在我的应用程序中注销时,堆栈上没有登录视图控制器(因为自动登录)。然后注销按钮不起作用。有人可以帮我解决这种情况吗?我这样注销:

   NSArray *array1 = [del.navigationController viewControllers];
   NSLog(@"%@",[del.navigationController viewControllers]);
   [del.navigationController popToViewController:[array1 objectAtIndex:0] animated:YES];
4

1 回答 1

1
  NSArray *array1 = [del.navigationController viewControllers];
   NSLog(@"%@",[del.navigationController viewControllers]);
   [del.navigationController popToViewController:[array1 objectAtIndex:0] animated:YES];

[array1 objectAtIndex:0] 在那种情况下不会是您的登录视图。

所以你可以保持这样的条件:

  UIViewController *vw = (UIViewController *) [array1 objectAtIndex:0];
  if([vw isKindOfClass:[login class])
    [del.navigationController popToViewController:[array1 objectAtIndex:0] animated:YES];
  else
  {
   // init ur login class and push that to nav stack. 
   }
于 2012-08-18T07:15:02.917 回答