我有一个导航控制器和一个表格视图。当某人单击表格视图时,我将执行以下操作:

MyViewController *myViewController = [[MyViewController alloc] initWithImage:image];
[image release];
[self.navigationController pushViewController:myViewController animated:YES];
[myViewController release];


myViewController将保留图像。

现在,如果我在NavigationController中来回移动,则会泄漏,因为每次都会创建一个新的MyViewController,而且显然popViewController不会释放myViewController。

我的问题:
为什么popViewController不释放控制器?
我该如何处理?将myViewController用作类的成员,并检查它是否已经存在而不是每次都创建它?

在此先感谢您的帮助,

最佳答案

显然问题是在另一个线程中调用了此代码,然后此线程必须具有另一个自动释放池才能使自动释放正常工作。

关于iphone - UINavigationController泄漏/了解popViewController,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2748216/

10-09 15:34
查看更多