0

编辑:我在下面写“类”的地方,我的意思是“类的实际类名”,而不是字面意义上的“类”!

对于通用应用程序中的 UIViewController,我们使用:

[[class alloc] initWithNibName:nil bundle:nil];

或者

[[class alloc] init]; // same thing

与文件:

  1. 类~ipad.xib
  2. 类~iphone.xib

根据 Apple 文档,Apple 正确加载了特定于设备的 NIB。

但是如果 UIViewController 有一个“.mm”扩展名,它每次都会失败。似乎只发生在 Obj-C++ 视图控制器上(更改文件扩展名“修复”它)。

4

1 回答 1

0

啊,自我回答,找到了一个可行的解决方法:

代替:

initWithNibName:nil bundle:nil

采用:

initWithNibName:@"class" bundle:nil // where "class" == your classname, no extension

无论Apple的代码中基于文件名读取NIB文件的错误是什么......这似乎都可以解决它

于 2012-12-13T18:08:22.053 回答