macos – “无法加载窗口nib文件”是什么意思?

macos – “无法加载窗口nib文件”是什么意思?,第1张

概述我正在研究我的第一个 Cocoa应用程序,我非常希望如此 [NSWindowController loadWindow]: failed to load window nib file 'Genius Document' 意味着我有一些非常具体的错误,因为如果我必须回去重做所有的绑定,我会想要自杀. FWIW,我正在使用基于文档的应用程序,该应用程序(到目前为止)只有一个XIB文件而没有NIB文件 我正在研究我的第一个 Cocoa应用程序,我非常希望如此

[NSWindowController loaDWindow]: Failed to load window nib file 'Genius document'

意味着我有一些非常具体的错误,因为如果我必须回去重做所有的绑定,我会想要自杀.

FWIW,我正在使用基于文档的应用程序,该应用程序(到目前为止)只有一个XIB文件而没有NIB文件.

我可以发布我的绑定的代码/截图,但如果没有必要,我不想让人们浏览它们.

谢谢您的帮助.

解决方法 最终出现的错误是因为加载nib文件的调用失败.确保您已为Interface Builder文件提供了正确的名称.

您可以通过多种方式提供正确的值(取决于您对AppKit的使用),因此我将列出两种最常见的可能性,您可以跟踪哪一种适用于您.鉴于你在问题中所说的内容,我怀疑你将会处理第一个场景.

NSdocument windowNibname

如果您依赖于文档体系结构的默认设置,则可能不会直接进行相关调用.相反,框架使用您在给定文档类上指定的任何nib名称代表您进行调用.

例如,如果您要创建一个文档类为“XYZdocument”的基于文档的新项目,Xcode模板将为您提供基本的XYZdocument类和XYZdocument.xib文件. XYZdocument实现文件中包含以下内容:

//  XYZdocument.m- (Nsstring *)windowNibname {    return @"XYZdocument"; // this name tells AppKit which nib file to use}

如果要更改此值,则会创建[NSWindowController loaDWindow]错误.

NSWindowController初始化方法

如果您自己进行此调用(可能在您自己的NSWindowController的子类中),那么您将编写如下所示的行.

//  XYZWindowController.m (a subclass of NSWindowController)- (ID)init {    self = [super initWithWindowNibname:@"XYZdocument"];    if (self) {      // initializations    }    return self;}

如果您提供的字符串参数与nib文件的名称不匹配,则会发生相同的错误.

总结

以上是内存溢出为你收集整理的macos – “无法加载窗口nib文件”是什么意思?全部内容,希望文章能够帮你解决macos – “无法加载窗口nib文件”是什么意思?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1001229.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存