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;
}