我尝试覆盖 UIViewController 子类的默认 initWithNibName 指定初始化程序,如下所示:
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
// Custom initialization
}
return self;
}
我还在头文件中包含了它的定义。但是,当我的 Application Delegate nib 加载视图控制器时,不会调用初始化程序,仅调用 -viewDidLoad。
那么 nib 魔法如何实例化我的视图控制器呢?为什么所有 XCode 模板都声明
// 指定的初始化器。如果您以编程方式创建控制器并希望执行不适合 viewDidLoad 的自定义,请覆盖。
当视图控制器从另一个笔尖加载时,我的 initWithNibName 没有被调用是否正确?