我试图在我的简单可可应用程序中创建和显示新窗口:
myWindow = [[MyWindowController alloc] initWithWindowNibName:@"MyWindow" owner:self];
[myWindow showWindow:self];它可以很好地处理没有本地化的基本nib文件,但是一旦我打开这个特定nib文件的本地化(使用Xcode“localization”选项可提供的表单文件检查器),应用程序在执行上面的代码时会出现此错误:
-MyWindowController loadWindow:未能加载窗口nib文件'AuthWindow‘。
当我使用本地化的nib时,我应该改变初始化窗口控制器的方式吗?只有当包含窗口的nib被本地化时(只有一种语言--英语),当没有配置本地化时,该窗口才会被加载并以应有的方式出现在屏幕上,它才会失败。我找不到正确的答案,我刚接触过OSX上的Cocoa,但有一些使用CocoaTouch和开发iOS的经验。
发布于 2013-06-18 22:16:48
我重新启动了Xcode错误消失了..。
我不知道。但无论如何..。
发布于 2013-08-06 20:17:13
initWithWindowNibName:可以在本地化目录(如en.lproj/ )中找到.nib文件。问题是,有时候Xcode忘记将 .xib 文件(通常使用XML格式的接口生成器文件)编译成.nib文件,或者二进制格式--特别是当通过单击“本地化.”将.xib文件本地化时。按钮。
如果打开$build_dir/Your.app/Contents/Resources/$locale.lproj,您会发现一些只从源目录复制的xib。
重新启动Xcode将解决这种情况,而我不知道原因是什么,以及为什么重新启动起了关键作用。
发布于 2013-08-17 17:44:28
这是个老问题,但我找到了一个与上述不同的解决办法。在所讨论的nib中,转到标识面板并确保nib的目标成员资格被选中。

https://stackoverflow.com/questions/16838245
复制相似问题