Mar*_*tin 21 deprecated viewdidunload ios6
我刚刚安装了新版本的Xcode/ios6.viewDidUnload现在已折旧.
在苹果文档中,
viewDidUnload [...]在iOS 6.0中已弃用.在低内存条件下不再清除视图,因此永远不会调用此方法.
但是大量的应用程序正在使用此回调来释放其属性,例如:
- (void)viewDidUnload {
[super viewDidUnload];
self.recipientButton = nil;
self.connectButton = nil;
self.infoLabel = nil;
}
Run Code Online (Sandbox Code Playgroud)
这是发布IBOutlets的最佳做法.
那么,第一个问题:
iOS 6中这些现有应用程序会发生什么?他们会泄漏吗?
第二个:
发布IBOutlet属性的新推荐方法是什么?在dealloc方法?
Pra*_*wal 22
对于第一个问题:
您的ViewController将接收didReceiveMemoryWarning方法回调,您可以在此方法中忽略视图和其他组件
如需参考,请参阅WWDC 2012视频会议,了解EVOLLUTION OF VIEW CONTROLLER,如果您没有(我相信它们仅适用于注册开发人员,但不确定).
回答你的第二个.
[对象发布]; 在dealloc.在释放之前无需为对象分配nil.
我建议你使用IBOutlets的弱属性
@property (weak) IBOutlet UILabel * labelText;
Run Code Online (Sandbox Code Playgroud)
这样你就不需要在dealloc中做任何事情了.在iOS 6中,只是ViewDidUnload不会调用,iOS5或更早版本只是在发生内存警告时调用.
| 归档时间: |
|
| 查看次数: |
19131 次 |
| 最近记录: |