0

我通过编辑 info.plist 文件更改了我的 nib 文件,并将 File's Owner 设置为我扩展 NSViewController 的类,但现在它给了我以上错误:

正在运行... 2012-04-06 15:11:45.552 Rooster[1251:a0f] 无法加载 nib 文件:RoosterView.xib,退出

Debugger stopped.
Program exited with status value:1.(gdb)

我该如何解决?

4

3 回答 3

18

此问题的另一个可能原因是指定“MainMenu.xib”而不是“MainMenu”。也就是说,不包括 .xib 扩展名。

在 Xcode 中输入文件名时,它将自动完成并包含导致错误的 .xib。

于 2013-10-19T05:15:11.047 回答
5

我今天也发生了同样的错误。通过在主界面下的项目设置中删除 .xib 扩展名来修复它。

图片教程:

改变这个: 在此处输入图像描述

对此: 在此处输入图像描述

希望这可以帮助某人:)

于 2014-02-26T19:35:09.000 回答
3

更改您的 info.plist 文件,以便它加载您的原始 nib(大概是 MainMenu.xib),并确保文件的所有者是NSApplication. 在您编写应用程序的绝大多数情况下,这就是您想要的方式。

接下来,在您的 RoosterView.m(我认为它是一个子类)中,使用's方法NSViewController加载您的 RoosterView.xib 。NSViewController– initWithNibName:bundle:

最后,在您恢复的 MainMenu.xib 中,将自定义视图对象添加到您的窗口。将自定义视图的类设为您的 RoosterView。

祝你在你的努力中好运。并且在将来,每当您创建应用程序时,请不要乱用应用程序的 xib 的 File's Owner 设置,除非您感到非常沮丧。

于 2012-04-06T14:42:02.053 回答