Iphone 在init中使用loadNibName时,ViewController可以';t接收viewDidLoad事件
当我在Iphone 在init中使用loadNibName时,ViewController可以';t接收viewDidLoad事件,iphone,ios,objective-c,uiviewcontroller,Iphone,Ios,Objective C,Uiviewcontroller,当我在init中调用loadNibNamed:时,UIViewController无法接收viewDidLoad事件。 但如果我将调用放在其他地方,它就可以正常工作。原因是什么 -(id)init { self=[super init]; if(self){ [[NSBundle mainBundle]loadNibNamed:@"MainView" owner:self options:nil]; } return self; } - (void)
init
中调用loadNibNamed:
时,UIViewController
无法接收viewDidLoad
事件。
但如果我将调用放在其他地方,它就可以正常工作。原因是什么
-(id)init
{
self=[super init];
if(self){
[[NSBundle mainBundle]loadNibNamed:@"MainView" owner:self options:nil];
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
}
这是因为在编写init的实现时,没有正确地使用nib名称调用super
-(id)init {
self = [super initWithNibName:@"MainView" bundle:nil];
return self;
}