我正在使用ARC
在我正在观看的一些教程中,他曾经编写过一个UILabel,然后在方法ViewDidUnload中写道: self.theLabelVariable = nil;从那以后,我再也没有见过他用ViewDidUnload编写任何东西。目前还没有。
我对这个方法中应该包含哪些代码感到有点困惑。
不太确定这是什么意思。
发布于 2012-03-05 07:41:58
你应该用你所有的IBOutlets做到这一点。
发布于 2012-03-05 07:54:43
1-应该使用viewDidUnload释放(如果是属性,则设置为nil )卸载视图时不需要的任何对象,例如视图,并且您将在viewDidLoad上重新创建这些对象。示例:在卸载视图时(通过按下主页按钮),您不需要标签,然后释放它,然后在视图加载时重新创建它(应用程序出现)。
2-超类调用超类上的方法。例如,如果你有一个类是UIViewController的后代,调用超级viewDidUnload将执行苹果的UIViewController viewDidUnload代码(可能是空的……或者不)。
3-参见1上的示例。但问题是:当你不再需要一个对象时,将它设置为零,这样它就可以被释放,并且不会浪费内存。
如果我漏掉了什么,或者你有什么不明白的,请告诉我。
编辑
对于从一个名为IBOutlets的XIB文件(接口构建器)初始化的视图,您不需要执行self.label=nil;因为UIViewController会为您执行此操作。就像它为你初始化它一样,它也会释放它。
https://stackoverflow.com/questions/9559943
复制相似问题