fuz*_*oat 5 iphone cocoa-touch objective-c
我有点好奇,我有一个视图控制器类和一个NIB/XIB(都命名为"MapViewController")如果我执行以下操作,它会加载具有匹配名称的NIB.
-(id)init {
self = [super initWithNibName:@"MapViewController" bundle:nil];
if(self) {
do things ...
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
另一方面,我只是指定[super init] Xcode只是寻找与控制器名称相匹配的NIB,这是如何工作的?
-(id)init {
self = [super init];
if(self) {
do things ...
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
欢呼加里.
小智 7
从文档:
如果为nibName参数指定nil并且不覆盖自定义子类中的loadView方法,则默认视图控制器行为是查找名称(不带.nib扩展名)与视图控制器类的名称匹配的nib文件.如果找到一个,则类名将成为nibName属性的值,这会导致相应的nib文件与此视图控制器关联.