initWithNibName ....方法没有触发

sma*_*nja 0 iphone objective-c ios4 ios

在我的基于导航的应用程序中,initWithNibName方法不会调用/ fire

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
    // Custom initialization
}
return self;
}
Run Code Online (Sandbox Code Playgroud)

我在这样的appdelegate中定义了rootViewController(calViewController)

calViewController *objCalViewController = (calViewController *) [navController topViewController];

objCalViewController.context = [self managedObjectContext];


[window addSubview:navController.view];
[window makeKeyAndVisible];
Run Code Online (Sandbox Code Playgroud)

这是问题吗?请给我一个帮助

Ell*_*eal 10

当你UIViewController在一个nib文件或Storyboard中定义(通常是一个IBOutlet)时,initWithNibName:bundle:不会被调用,而是initWithCoder:被调用.当您使用Interface Builder将您的UIViewController部分设置为UITabBarController或者 UINavigationController几乎总是在使用Storyboard时,就是这种情况.