我在这里有此代码来检查ViewController的存在。不幸的是,它不起作用。事实是,它是在从Navigation Stack弹出另一个VC的时刻执行的:

- (void) leftViewDidHide{
    if ([((AppDelegate *)[UIApplication sharedApplication].delegate).frontViewController.navigationController.viewControllers objectAtIndex:1]) {
    SGServerListViewController *sample = [[[((AppDelegate *)[UIApplication sharedApplication].delegate).frontViewController.navigationController.viewControllers objectAtIndex:1]childViewControllers] objectAtIndex:0];
    [sample.serverTableView setUserInteractionEnabled:YES];
    }
}

该应用程序崩溃,并带有异常断点,该断点将我指向带有if语句的行。关于这里可能出什么问题的任何想法?我只是想检查此VC是否存在以及是否存在-执行代码。

最佳答案

- (void) leftViewDidHide{

if ([((AppDelegate *)[UIApplication sharedApplication].delegate).frontViewController.navigationController.viewControllers count] == 1) {

         SGServerListViewController *sample = [[[((AppDelegate *)[UIApplication sharedApplication].delegate).frontViewController.navigationController.viewControllers objectAtIndex:1]childViewControllers] objectAtIndex:0];
         [sample.serverTableView setUserInteractionEnabled:YES];

     }
 }

关于iphone - 检查导航堆栈上的ViewController是否存在,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14378817/

10-14 21:36