IBOutletCollections 是否应该在 UIViewController viewDidUnload 中设置



我的UIViewController 类有一个包含多个 IBOutlet 对象的 IBOutletCollection。我知道需要在viewDidUnload中将保留的出口设置为nil,但是我还需要将IBOutletCollection设置为nil吗?还是应该在 dealloc 中发布?还是完全独自一人?

您需要

将插座设置为viewDidUnload nil,以确保视图控制器在收到内存警告时可以释放尽可能多的内存。为了响应内存警告,视图控制器释放其视图,以释放视图(及其所有子视图)正在使用的内存。如果您未能释放您保留/持有强引用的那些出口,则这些出口引用的子视图不会被销毁,它们的内存也不会被释放。

所以是的,您还应该将出口集合的属性设置为 nil viewDidUnload .

此要求与释放您在dealloc中保留的所有 ivar/财产的责任无关。

最新更新