【发布时间】:2012-02-08 10:28:54
【问题描述】:
UIViewController里面有属性:
@property(nonatomic, readonly, retain) UINavigationController *navigationController
我不太确定这个属性是如何使用的......按照我的看法,如果你有名为 navController 的导航控制器并输入如下代码:
[navController pushViewController:nextController animated:YES];
发生了几件事。首先将 nextController 推到 navController 堆栈的顶部。其次,navController 保留了 nextController。第三,用navController初始化nextController(navigationController)的readonly属性。这样 navController 会保留 nextController,而 nextController 会保留 navController。因此,如果您释放 navController,它不会被销毁,因为它被其堆栈上的所有 UIViewControllers 保留。释放它的唯一方法是从堆栈中弹出所有项目,然后释放它。
这是所有这些功能的方式,还是我遗漏了什么?
【问题讨论】:
标签: iphone ipad uiviewcontroller uinavigationcontroller