我在 Xcode 4.3.3 中创建了一个通用窗口应用程序。后来我添加了一个没有 XIB 的 View Controller(UniversalRootViewController) 类。然后我创建了两个 XIB 文件(RootViewController_iPhone、RootViewController_iPad),然后将这些 iPhone XIB 文件 RootViewController_iPhone 连接到 UniversalRootViewController 类: RootViewController_iPhone -> 选择文件所有者并将 Identity Inspector 中的类名更改为 UniversalRootViewController,然后将视图作为出口连接到 UniversalViewController 和为 RootViewController_iPad 做了同样的事情。
在 App Delegate 中,我添加了以下代码行。
UniversalRootViewController *controller = nil;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
controller = [[UniversalRootViewController alloc] initWithNibName:@"RootViewController_iPad" bundle:[NSBundle mainBundle]];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:controller];
[self.window addSubview:navigationController.view];
}
else
{
controller = [[UniversalRootViewController alloc] initWithNibName:@"RootViewController_iPhone" bundle:[NSBundle mainBundle]];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:controller];
[self.window addSubview:controller];
}
我还在 UniversalApp-Info.plist 中添加了这两个键值对 主 nib 文件基本名称:RootViewController_iPhone 主 nib 文件基本名称(iPad):RootViewController_iPad
当我运行此应用程序时,该应用程序通过显示以下错误消息来创建。
由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[setValue:forUndefinedKey:]:此类与键视图的键值编码不兼容。”
我将 XIB 文件正确连接到 View Controller。我不知道为什么应用程序崩溃。请告诉我解决方案。