作为新的可可,我遇到的几个问题Interface Builder,UIViewController和朋友.
我有一个在xib中定义的UIViewController子类UIView,并且控制器的视图插座连接到视图.xib的"文件所有者"被设置为myViewcontroller子类.
在这一个实例中,以下用于加载控制器/视图的代码(来自主视图控制器)无法按预期工作:
if ( self.myViewController == nil )
{
self.myViewController = [[MyViewController alloc]
initWithNibName:@"MyViewController" bundle:nil];
}
[self.navigationController
pushViewController:self.myViewController animated:YES];
Run Code Online (Sandbox Code Playgroud)
在MyViewController的方法中,我放置了断点和日志消息以查看发生了什么:
-(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
NSLog(@"initWithNibName\n");
}
return self;
}
-(void)viewDidLoad {
[super viewDidLoad];
NSLog(@"viewDidLoad\n");
}
Run Code Online (Sandbox Code Playgroud)
预期结果
调用两者-initWithNibName和-viewDidLoad方法,并显示myViewController的视图.
观察结果
仅-initWithNibName调用,不显示视图.
我错过了什么吗?任何人都可以推荐任何检查?(特别是在奇妙的不透明Interface Builder工具中).