我有一个导航控制器和一个表视图。当有人单击表视图时,我执行以下操作:
MyViewController *myViewController = [[MyViewController alloc] initWithImage:image];
[image release];
[self.navigationController pushViewController:myViewController animated:YES];
[myViewController release];myViewController将保留该图像。
现在,如果我在NavigationController中来回走动,我会得到一个漏洞,因为每次都会创建一个新的myViewController,显然popViewController不会释放这个MyViewController。
我的问题是:为什么popViewController不释放控制器?我该怎么处理呢?将myViewController作为我的类的成员,并检查它是否已经存在,而不是每次都创建它?
提前感谢你的帮助,
发布于 2010-05-01 13:13:20
显然,问题是这个代码在另一个线程中被调用,然后这个线程必须有另一个自动释放池才能让自动释放正常工作。
发布于 2010-05-01 08:35:35
我通常在类中声明一次viewController,在初始化中分配,并在需要时推送。然后在推送的视图控制器中,我在viewWillAppear:中调整视图
https://stackoverflow.com/questions/2748216
复制相似问题