initWithCoder调用场景
initWithCoder在开始解析一个文件时调用,不管时Xib还是归档文件都会调用.
从沙盒中解档自定义对象,需要重写initWithCoder
使用从Xib中加载UIView,会调用initWithCoder
//开始解析一个文件时调用.
- (instancetype)initWithCoder:(NSCoder *)aDecoder {
if (self = [super initWithCoder:aDecoder]) {
NSLog(@"%@",self.btn);
}
return self;
}
awakeFromNib调用场景
awakeFromNib在xib加载完毕时调用
//当从xib当中加载完毕时调用
- (void)awakeFromNib {
NSLog(@"%@",self.btn);
}
如果是xib之间存在嵌套,initWithCoder和awakeFromNib 有时怎么嵌套的?
答案是从subView开始调起
sonView initWithCoder
sonView awakFromNib
fatherView initWithCoder
fatherView awakFromNib
initWithFrame
用代码创建UIView,会调用initWithFrame
网友评论