释放指向self.view的保留属性

时间:2012-11-05 14:30:29

标签: automatic-ref-counting retain viewdidunload

在具有ARC最佳实践的UIViewController的实例中,将“释放”self.myOutlet = nil中主视图的任何保留子视图(例如- viewDidUnload),我猜是{此时{1}}并非绝对必要。

如果定义了另外的self.view = nil ed属性并将其指定为...

,该怎么办?
  

self.anotherProperty = self.view;

  

_anotherProperty = self.view; //假设“_anotherProperty”是ivar

...那么retain是必要的吗?

1 个答案:

答案 0 :(得分:0)

viewDidUnload中没有任何内容(我假设我们正在谈论在iOS 6之前运行,因为在iOS 6中不再卸载视图,因此不再调用viewDidUnload)是“必要”;这只是卸载东西的可选机会。

但是如果你想按照viewDidUnload的约定正确卸载东西,你应该取消你的财产吗?是。 1)如果没有,您的属性仍将保留视图对象,防止它被释放,这是卸载视图的点。 2)视图已被卸载,这意味着self.view被设置为nil,并且当我们决定加载视图时将被设置为新加载的视图。如果您希望您的属性始终指向self.view,那么您需要在卸载时将其设置为nil,并将其设置为viewDidLoad中加载的视图。