如果选择了一个按钮(我没有在viewDidLoad中创建数据),我会填充3个NSDictionar的NSArray,我是否可以在这两种方法中删除这个内存,或只是其中一种?谢谢!
答案 0 :(得分:1)
这取决于您何时需要此数据。
dealloc
中,您应该释放所有保留的ivars。viewDidUnload
中,您应该释放在viewDidLoad
中重新创建的所有ivars。
viewDidLoad
中重新创建,但保留一个NSDictionary,用于存储选择哪些ID,哪些不是。viewWillDisappear
或viewDidDisppear
中,您可以释放任何包含数据的ivars,只要用户离开并返回到视图,就应该重置这些数据。您可能会或可能不想有条件地执行此操作,具体取决于用户是否因为模态而离开。didReceiveMemoryWarning
中,您希望释放为保持更快访问而保留的任何数据,但可以从磁盘重新加载或重新计算。
didReceiveMemoryWarning
,即使视图不再可见。答案 1 :(得分:0)
您可以使用viewDidUnload
来发布视图对象。在这种情况下,你想要在didReceiveMemoryWarning
中释放它们,如果它们是ivars(它们可能是;否则你没有引用它们),你也应该在{{dealloc
中释放它们。 1}}。