我正在尝试在我的简单Cocoa应用程序中创建并显示新窗口:
myWindow = [[MyWindowController alloc] initWithWindowNibName:@"MyWindow" owner:self];
[myWindow showWindow:self];
它没有本地化的基本nib文件很好用,但是一旦打开这个特定nib文件的本地化(使用Xcode“localize”选项,可用表单文件检查器),应用程序在执行上面的代码时给出了这个错误:
- [MyWindowController loadWindow]:无法加载窗口nib文件'AuthWindow'。
在使用本地化笔尖时,我是否应该更改我正在初始化窗口控制器的方式?只有当包含窗口的nib被本地化时(仅使用一种语言 - 英语),当没有配置本地化时,它才会失败 - 窗口被加载并显示在屏幕上。我找不到合适的答案,我是OSX上的Cocoa新手,但是对CocoaTouch和iOS开发有一些经验。
答案 0 :(得分:8)
我重启了Xcode,错误就消失了......
我不知道......但不管......
答案 1 :(得分:6)
initWithWindowNibName:
可以在en.lproj/
等本地化目录中找到 .nib 文件。问题是,有时Xcode忘记将 .xib 文件(XML格式的Interface Builder文件,您经常使用)编译成 .nib 文件,或者二进制格式 - 特别是当.xib文件刚刚通过单击“Localized ...”按钮进行本地化时。
如果您打开$build_dir/Your.app/Contents/Resources/$locale.lproj
,您会发现只从源目录中复制了一些xib。
重新启动Xcode将解决这种情况,而我不确定原因是什么以及为什么重新启动可以解决问题。
答案 2 :(得分:3)
这是一个老问题,但我找到了与上述不同的解决方案。在相关的笔尖中,转到标识面板并确保检查笔尖的目标成员资格。
答案 3 :(得分:0)
我有这样的错误。为我解决的是制作xib文件的备份副本,从xcode中删除它,重新启动xcode,然后再添加它。去图......