我刚刚注意到我的ViewController在启动时没有调用init(见下文)。
-(id)init {
self = [super init];
if(self) {
NSLog(@"_init: %@", [self class]);
otherStuff...
}
return self;
}
是否有这样的原因,或者它被viewDidLoad
取代-(void)viewDidLoad {
otherStuff ..
[super viewDidLoad];
}
欢呼加里
答案 0 :(得分:16)
它不会被viewDidLoad
取代。只是init没有被initWithNibName:bundle:
调用。
我只需在viewDidLoad
中编写设置代码。
答案 1 :(得分:5)
如果您正在从故事板初始化视图控制器,则可以使用:
- (instancetype)initWithCoder:(NSCoder *)coder
{
self = [super initWithCoder:coder];
if (self) {
// do init here
}
return self;
}
答案 2 :(得分:3)
通常使用awakeFromNib。
答案 3 :(得分:0)