首先,我是一个初学者,所以我可能会让我的概念错误。如何添加/连接NIB以编程方式创建的UINavigationController?
这是我的代码在AppDelegate.m:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UIViewController *viewController = [[UIViewController alloc] initWithNibName:@"FirstView" bundle:nil];
self.navigationController = [[UINavigationController alloc] initWithRootViewController: viewController];
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
self.window.rootViewController = self.navigationController;
[self.window makeKeyAndVisible];
return YES;
}
的想法是编程方式添加UINavigationController的,但后来使用的.xib(以下简称 “的firstView” paremeter)的意见。我没有以编程方式创建视图的问题,但对于更简单的接口,我假定使用IB也可以完成。
然而,当我运行代码,我得到这个错误:
2013-07-11 21:20:42.644 new-book-proto-01[64308:11303] *** Terminating app due
to uncaught exception 'NSInternalInconsistencyException', reason:
'-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "FirstView" nib
but the view outlet was not set.'
我该怎么办?有什么遗漏吗?
此外,是这样的iOS开发中常见的东西?这是不好的做法吗?有一个更好的方法吗?
在FirstView.xib文件中,检查view outlet是否被设置为FileOwner的view属性? – Mrunal
@Mrunal是对的,这听起来像是这里的问题。其他一切看起来都正确 –
@Mrunal我该怎么做?我还不太熟悉XCode的用户界面。 – hfz