NSE*_*rer 5 memory-management objective-c ios
哪个是初始化用于在视图控制器中显示内容的数据结构的最佳位置:init或viewDidLoad?
此外,对于这两种情况下,我应该在哪里被释放他们:dealloc,viewDidUnload或didReceiveMemoryWarning?
包罗万象的答案是:“这取决于您的视图生命周期。” 相对于视图的加载和显示方式,每种方法都有自己的位置。
不过,根据经验,viewDidLoad这是一个很好的默认位置——您的 XIB 视图已经被实例化,因此您可以设置它们的属性。如果您进行大量的视图加载和卸载,您可能希望将相当静态的纯数据推送回您的init调用。
viewWillAppear是另一种选择,再次取决于视图的生命周期以及视图隐藏时数据可能发生的变化量。
ETA:在对分配内存的补充调用中释放内存。在dealloc,viewDidUnload或viewDidDisappear. didReceiveMemoryWarning无论您在何处初始化它,都应该始终卸载任何可以卸载的内容,并且您的代码应该足够智能,可以在数据再次处于活动状态时重新加载数据。
| 归档时间: |
|
| 查看次数: |
652 次 |
| 最近记录: |