在UIViewController viewDidUnload中是否应将IBOutletCollections设置为nil?

时间:2012-06-01 10:27:51

标签: ios uiviewcontroller iboutletcollection

我的UIViewController类有一个包含多个IBOutlet对象的IBOutletCollection。我知道需要在viewDidUnload中将保留的出口设置为nil,但是我是否还需要将IBOutletCollection设置为nil?或者它应该在dealloc中被释放?还是完全独自留下?

1 个答案:

答案 0 :(得分:5)

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

是的,你还应该在nil中将出口集合的属性设置为viewDidUnload

此要求与在dealloc中释放所有保留的ivars /属性的责任无关。