我只是在编程时想知道。我有一个创建 childViewController 实例的 rootViewController。这个 childVC 通过 [self.navigationController pushViewController:childVC] 从另一个 childViewController(比如 childVC2)推送到我的 rootViewController。现在我想知道我的 childVC2 实例会发生什么。它会被释放吗?因为当从 childVC 返回 childVC2 时,我创建了一个 childVC2 的新实例并将其推送到我的 rootViewController 中。显然我对 childVC2 的早期实例没有任何用处,所以它会发生什么,或者我可以手动释放它吗?
问问题
117 次
1 回答
1
是的,如果您分配 ViewController,则必须释放它..推送会将其引用计数增加 1,因此您必须确保将其弹出以减少引用计数..并在创建实例时定义它.h 并在创建时这样做
if(yourViewController)
[yourViewContoller release];
yourViewController = [yourViewControllerClass alloc] init];
另一种选择是使其自动释放,在这种情况下,您不负责释放 ViewController
yourViewController = [yourViewControllerClass alloc] init]autorelease];
于 2012-04-05T15:16:37.890 回答