objective-c - NSViewController loadView 加载了 "(null)"nib 但没有设置 View

标签 objective-c xcode macos cocoa

我希望其他人以前也遇到过这个问题。

在 Xcode Cocoa 应用程序项目中,我创建了一个带有单个 View 和一些随机 subview 的 *.xib 文件。我创建一个 *ViewController.m 并继承自 NSViewController。我将 *.xib 中的文件所有者设置为我的 Controller ,并将导出 View 设置为主视图。然后,我在 AppDelegateapplicationDidFinishLaunching: 中创建一个新的 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/

相关文章:

iphone - 如果我使用自定义 UITableViewCell,是否需要设置 heightForRowAtIndexPath?

IOS/Objective-C/核心数据 : NSPredicates with Complicated Conditional logic

objective-c - UIWindow 创建 NSAutoresizingMaskLayoutConstraints 而不是 NSLayoutConstraint

objective-c - 如何在 Objective-c/Cocoa (OSX) 中做出完美的裁剪(不改变质量)

ios - Parse 1.7.3 崩溃报告

ios - iOS核心数据在后台获取导致崩溃

xcode - 对数组中的字典进行排序

ios - 如何修复 Xcode 中的 undefined symbol 错误?

macos - Mac OS X如何知道哪些程序正在使用挂载的文件系统?

javascript - 如何在 OSA 事件处理程序中将 'using terms from ...' 转换为 Javascript