hfz*_*hfz 2 iphone objective-c ios
我一直在浏览一些答案,我得到两个不同的建议:
目前最好的做法是哪一个?第二个答案似乎是较旧的(2010年),所以我想知道这是一个旧的,不再建议的做法吗?
不,永远不要在init中做这样的事情.
我viewDidLoad甚至是viewWillAppear,从来没有在init中,因为你的视图当时可能不在那里,当我开始时我一直在向我发送一些字符串给UILabel而不是那里并使应用程序崩溃,但这在模拟器中起作用,因为它比iPhone 3这样的实际设备要快得多.
与重置数据和关闭代理相同,不应在dealloc中设置.你认为Dealloc可能不会被调用.您应该在viewWillDissapear或viewWillUnload中设置此类操作.
对于非基于XIB的视图控制器,正确的位置在-loadView.-loadView负责初始化视图控制器的view属性,包括任何子视图.系统将在适当的时间调用此方法.您必须view在此方法中为视图控制器的属性指定一些内容:
- (void)loadView
{
UIView *view = ...;
// create additional views here
self.view = view;
}
Run Code Online (Sandbox Code Playgroud)
如果您有基于XIB的视图控制器,则文档说不要覆盖-loadView.在这种情况下,您应该执行其他视图初始化工作-viewDidLoad.
| 归档时间: |
|
| 查看次数: |
1972 次 |
| 最近记录: |