5 回答
您显然已经抛出了一个 NSInvalidArgumentException 并且没有被捕获,因此调用了 std::terminate() 并结束了程序。不熟悉 iPhone SDK,我真的无能为力。请查阅 API 文档以查看它可能是从哪里抛出的。
如果我对 Objective-C++ 语法的解读是正确的,错误消息暗示对象 UIViewController 无法使用参数 SplitSecondViewController 执行消息 _loadViewFromNibNamed。
对不起,我帮不上什么忙……
我有同样的问题,马里奥的回答为我解决了这个问题。我正在将 iPhone 应用程序转换为同时在手机和 iPad 上运行。由于某种原因,它没有将新的 xib 文件放入目标下方的 Copy Bundle Resources 中。一旦我通过从 Resources-iPad 目录中拖动 XIB 文件来添加它,它就修复了所有问题。
谢谢,马里奥!
当您重命名 nib 文件但不通过项目传播名称更改时,可能会发生这种情况。自从您上次成功运行该应用程序后,您是否重命名了 SplitSecondViewController?
或者,如果您在某个阶段删除了 SplitSecondViewController,那么在项目的其他地方可能仍然存在对它的引用。打开界面生成器并转到主窗口的连接检查器。如果您在某个阶段删除了 SplitSecondViewController,请确保在连接检查器中删除了与它的连接。
SplitSecondViewController.nib 是否已添加到项目中,是否在正常目录中?
此外,这是一个 Objective-C 异常,而不是 C++ 异常。
在 Xcode 中查看“Targets”->YourAppName->Copy Bundle Resources
那里是否存在xib文件?