2

我有一个 Cocoa 应用程序,它有一个 mainNSWindowController和一个内部NSView连接到这样的NSViewController对象:

在此处输入图像描述

CloudCardsViewController 是一个NSViewController带有它的NibIBOutlet一个NSStackView. 当我尝试访问插座时,应用程序崩溃并在控制台上显示此错误:

致命错误:在展开可选值时意外发现 nil 2017-09-16 19:46:43.756852+0200 AppName[3402:150754] 致命错误:在展开可选值时意外发现 nil

如果我NSViewController通过代码添加,工作正常...

这是代码: 在此处输入图像描述

如果我打印baseStackView结果是nil

任何想法?谢谢!

4

1 回答 1

3

您的代码的问题是您只能MainWindowController从 XIB 文件加载。被MainWindowController初始化,并且只有来自CloudCardsViewontroler. 但是你CloudCardsViewController从来没有真正为自己初始化过。你不能这样使用你的CloudCardsViewController。您需要对其进行初始化,然后将其添加到您的MainWindowController.

您直接使用初始化程序实例化了您的类。插座不会以这种方式连接。Interface Builder 创建您的类的自定义实例并将这些实例编码为 NIB 和 Storyboard 以进行重复解码,它不定义类本身。

于 2017-09-16T19:15:48.117 回答