popViewControllerAnimated在viewDidAppear中不起作用

时间:2009-12-11 23:08:12

标签: iphone

我有一个基于导航的应用程序,它有多个视图(Say root< -A< -B< -C)。我想要做的是,当用户弹出最顶层视图(C)以查看B时,在视图B中自动执行一些检查,如果满足,则转到查看A.

我所做的是以下内容:

在B类中,它是一个UITableViewController

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];

    BOOL completed = NO;

    // The logic that sets completed is here

    if (completed)
    {
        // OK I want to pop out to the previous view controller (A)
        [self.navigationController popViewControllerAnimated:YES];
    }
} 

}

调试停止告诉我navigationController已经被释放了。不太清楚为什么

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

假设您的所有属性都是(nonatomic, retain)那么您必须在某处调用release,可能在您的视图切换例程中?

答案 1 :(得分:0)

我的所有属性都是(nonatomic, retain),但self.navigationController来自超类。它不在我的班上。