我有一个Cocoa应用程序,它有一个主NSWindowController,在一个NSView中连接到一个NSViewController对象,如下所示:

CloudCardsViewController是一个NSViewController,它的Nib和IBOutlet到NSStackView。当我尝试访问插座时,应用程序崩溃并在控制台上显示此错误:
致命错误:当展开可选值2017-09-16 19:46:43.756852+0200 AppName3402:150754时意外发现为零。
如果我按代码添加NSViewController,效果很好.
以下是代码:

如果我打印baseStackView,结果是nil
有什么想法吗?谢谢!
发布于 2017-09-16 19:15:48
代码的问题是,您只从XIB文件加载MainWindowController。MainWindowController被初始化,并且只有连接到CloudCardsViewontroler的XIB。但你的CloudCardsViewController 从来没有为自己初始化过。您不能这样使用您的CloudCardsViewController。您需要初始化它,然后将它添加到MainWindowController中。
直接用初始化器实例化类。插座不会这样连接的。Interface创建您的类的自定义实例,并将这些实例编码到NIB和情节提要中,以便重复解码,它不定义类本身。
https://stackoverflow.com/questions/46256873
复制相似问题