3 回答
TA贡献1780条经验 获得超4个赞
awakeFromNib
当控制器本身未从笔尖存档时调用。创建/取消存档视图viewDidLoad
时调用。当控制器的视图存储在单独的nib文件中时,这一区别尤其重要。
TA贡献1789条经验 获得超10个赞
我将通过举一个例子来回答:
如果定义customCell
类和customCell.xib
文件,然后使用加载单元格- (NSArray *)loadNibNamed:(NSString *)name owner:(id)owner options:(NSDictionary *)options
,则在未归档xib中的对象时将调用awakeFromNib。
如果定义customViewController
,则customViewController
使用创建时- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
。当viewDidLoad加载到视图层次结构中时,它将被调用。
一些相关的混淆方法:
(void)loadView; 如果子类不使用笔尖,则应在此处创建其自定义视图层次结构。如果未指定笔尖名称,则loadView将尝试加载名称与视图控制器类相同的笔尖。如果不存在此类笔尖,则必须在调用-view之前调用-setView:,或重写-loadView方法以编程方式设置视图。-loadView绝对不能直接调用。
(void)viewDidLoad:加载视图后调用。对于用代码创建的viewController,它在-loadView之后。对于从笔尖未存档的视图控制器,这是在设置视图之后。
- 3 回答
- 0 关注
- 613 浏览
添加回答
举报