NSViewController loadView加载了"(null)"nib但没有设置视图

Ale*_*ius 0 macos xcode cocoa objective-c

我希望其他人之前遇到过这个问题.

在Xcode Cocoa应用程序项目中,我使用单个视图和一些随机子视图创建*.xib文件.我创建了一个*ViewController.m并继承自NSViewController.我将*.xib中的文件所有者设置为我的控制器,并将出口视图设置为主视图.然后我在AppDelegates中创建一个新的控制器实例applicationDidFinishLaunching:,并将其视图添加为子视图self.window.contentView.

这是奇怪的部分...这在一个新的Xcode Cocoa项目中工作得非常好.*.xib中的视图按预期添加到主窗口中.然而,在我正在进行的项目中,[NSViewController loadView] loaded the "(null)" nib but no view was set无论我做什么,我都会得到.在这个项目的某个时间点,它现在每次都会出错.我甚至还从旧的Git提交中恢复了整个回购!我假设我看到了Xcode错误?

编辑更多信息:这似乎与将项目作为另一个Xcode项目的孩子有关.如果我单独打开项目(而不是父项目),它将按预期运行.

小智 6

我遇到了类似的问题:我写了一个ViewController,然后添加了一个xib并在那里更改了File的Owner.然后我在MainMenu.xib中添加了一个ViewController对象,并将此对象的Custom Class更改为我的ViewController.
我忘了什么以及导致相同异常的原因:在MainMenu.xib中我必须单击ViewController对象,在Attributes Inspector中我需要指定在创建ViewController时应该加载的Nib Name.可悲的是,Xcode需要重新启动才能获得我的更改.
无论如何,我希望这可以帮助每个检查每个视图连接两次但仍然有例外的人.