我希望其他人以前也遇到过这个问题。
在 Xcode Cocoa 应用程序项目中,我创建了一个带有单个 View 和一些随机 subview 的 *.xib 文件。我创建一个 *ViewController.m 并继承自 NSViewController
。我将 *.xib 中的文件所有者设置为我的 Controller ,并将导出 View 设置为主视图。然后,我在 AppDelegate
的 applicationDidFinishLaunching:
中创建一个新的 Controller 实例,并将其 View 作为子项添加到 self.window.contentView
。
这是奇怪的部分...这在新的 Xcode Cocoa 项目中工作得很好。 *.xib 中的 View 将按预期添加到主窗口。然而,在我当前正在处理的项目中,无论我做什么,我都会得到 [NSViewController loadView] 加载了“(null)” Nib ,但没有设置 View
。在某个时间点,这在这个项目中是有效的,但现在每次都会出错。我什至从旧的 Git 提交恢复了整个存储库!我假设我看到了 Xcode 错误?
编辑更多信息: 这似乎与将该项目作为另一个 Xcode 项目的子项目有关。如果我单独打开项目(而不是父项目),它将按预期运行。
最佳答案
我遇到了类似的问题:我编写了一个 ViewController,然后添加了一个 xib 并更改了那里的文件所有者。然后我在 MainMenu.xib 中添加了一个 ViewController 对象,并将该对象的自定义类更改为我的 ViewController。
我忘记了什么以及导致相同异常的原因:在 MainMenu.xib 中,我必须单击 ViewController 对象,在属性检查器中,我需要指定创建 ViewController 时应加载的 Nib 名称。遗憾的是 Xcode 需要重新启动才能获取我的更改。
无论如何,我希望这对每个检查每个 View 连接两次但仍然遇到异常的人有所帮助。
关于objective-c - NSViewController loadView 加载了 "(null)"nib 但没有设置 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18668410/