什么时候应该将uiviewcontrollers声明为属性

时间:2010-07-29 10:14:58

标签: iphone objective-c uiviewcontroller properties

这已经困扰了我很长一段时间,所以现在我会问

什么时候应该将uiviewcontrollers声明为属性?我注意到在许多示例中,在uinavigation控制器上推送和弹出的uiviewcontrollers 声明为属性。

我接受了这一点,现在我在代码中使用的每个uiviewcontroller都没有被声明为属性(ofc内存被小心处理),甚至是我在appdelegate中的主viewcontroller。然而,由于仪器报告泄漏,我试图将其声明为属性......结果是,即使泄漏仍在某处,应用程序的内存占用也减少了一半。

所以现在我想知道......我的做法是完全错误的,所有的uiviewcontrollers都应该被宣布为特色?有没有特别的理由将uiviewcontroller声明为属性?

感谢有关此事的任何提示

2 个答案:

答案 0 :(得分:0)

查看控制器视图会占用大量内存,而且iPhone没有足够的内存。也许你需要控制器的某些部分,但我不会保留它,除非它被解雇后绝对需要保留。

答案 1 :(得分:0)

如果您需要从推送它的视图控制器再次访问它,您只想保留对UIViewController的引用。在任何其他情况下,你真的不想在内存中持有它,并且考虑“延迟加载”所有的视图控制器(可能是你事先做的)并立即释放它们(UINavigationController保留了对它的保留引用) ,所以你的应用程序不会在屏幕上崩溃/释放它。

Instruments说泄漏的代码是什么?请发帖。