我所有的控制器都是用代码编写的,GUI的大部分也是如此。我用IB做的一些图形用户界面。然后,我将文件的所有者设置为视图控制器,并将连接从文件的所有者拖动到视图。但是initWithNibName把我搞糊涂了。
我正在将指定的初始化器重写为
- (id)init {
[super initWithNibName:nil bundle:nil];
return self;
}
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
return [self init];
}为什么我不需要设置viewController应该在初始化初始化程序中使用哪个nib?因为它不需要。我想我必须使用:@“SomeNib”包:nil;
在初始化初始化器中
发布于 2011-02-03 03:28:49
仅当您的nib名称与您的控制器类名称相同时,它才能在没有的情况下工作。在这种情况下,苹果会施展一些魔法。指定笔尖名称通常是一种很好的形式。
发布于 2011-02-03 03:30:01
来自文档:如果为nibName参数指定nil,则必须覆盖loadView方法并在其中创建视图,或者必须在捆绑包中提供一个nib文件,该文件的名称(不带.nib扩展名)与视图控制器类的名称相匹配。(在后一种情况下,类名称将成为存储在nibName属性中的名称。)如果您不这样做,视图控制器将无法加载它的视图。
https://stackoverflow.com/questions/4878886
复制相似问题