【发布时间】:2013-12-05 14:21:24
【问题描述】:
我的问题更侧重于导航堆栈场景......我有一个,比如说,有几个表格单元格的主视图。每个单元格通过将其推送到导航堆栈来导航到一个新视图,导航堆栈的视图控制器将数据和子视图存储在几个NSMutableArray 和NSArray 中。应用程序的常见流程是从主视图控制器到另一个视图控制器来回切换,这是一个常见的场景。考虑到我在 ARC 下,我将不胜感激有关在这种情况下执行的内存管理操作的一些建议:
a) 我应该执行哪些“清洁”人员?是否建议在视图消失时清理数组,还是保留它们以防用户再次导航到视图?
b)关于视图和子视图,当视图消失时我是否也应该“消除”它们?所有这些,包括那些在nib 文件中定义的,还是只有那些我在代码中创建的?
谢谢
【问题讨论】:
-
你是如何创作和推动的?什么是保留视图控制器(只是导航控制器?)?标准后退按钮?
-
我在
nib文件中有视图,并且在点击主视图的单元格时我有:MyViewController *myViewController = [[myViewController alloc] init]; [self.navigationController pushViewController:myViewController animated:YES]; -
我用标准的后退按钮导航回来,是的
-
我的视图控制器中的集合(
NSArray、NSMutableArray、NSDictionary...)都定义为@property (strong, nonatomic) -
不,视图控制器使用的集合不应该是弱的。
标签: ios memory-management uinavigationcontroller nsmutablearray automatic-ref-counting