我目前正在与基于 Storyboard的 Cocoa 应用程序( Objective-C )中的 NSDocument 打交道。 谁能告诉我如何访问 NSViewController 子类中的文档?
我尝试通过以下方式访问它 - 但文档为空:
[self.view.window.windowController document];
感谢您的帮助!
最好的问候 马丁
最佳答案
我自己也在纠结这个问题。我从标准的 Yosemite 模板开始,并尝试在 -viewDidLoad
中使用 [self.view.window.windowController document]
。此时,self.view.window
为 nil
,因此无法访问 document
。
诀窍是等到 -viewWillAppear
。在调用它时,self.view.window
已填充并且 document
可用。
序列:-makeWindowControllers
使用 Storyboard的 -instantiateControllerWithIdentifier:
结果调用 -self addWindowController:
。 -addWindowController:
在返回之前触发对 VC 的 -viewDidLoad
的调用。然后,最后调用 -viewWillAppear
(并且 document
可用)。
关于objective-c - Mac App Storyboard - 在 NSViewController 中访问文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27702002/