据我在ARC中了解,您不需要手动释放对象,它会自动为您完成。但是,我还有多少责任呢?我知道nil
在方法的末尾将局部变量设置为自动。但是强属性呢?我是否必须将它们设置为nil
诸如dealloc
或的方法viewDidUnload
?强属性会自动释放吗?实例变量又和属性一样吗?我知道并不是所有的内存管理责任都由我承担。
基本上,编译器会为您添加保留和发布。当类取消分配时,它也会释放强引用。仅当当时需要运行一些代码并且实际上不需要调用时[super dealloc]
,才需要编写一个dealloc方法。
但:
我知道方法结束时局部变量会自动设置为nil。
是不正确的。我认为您可能会将其与弱引用混淆,这些弱引用在它们所指向的实例被取消分配时设置为nil。
请注意,方法开始时将objet指针的局部变量设置为nil。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句