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

bea*_*ock 2 uiviewcontroller ios iboutletcollection

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

Ole*_*ann 5

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

所以,是的,你应该也是一个出口集合的属性设置为nilviewDidUnload.

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