objective-c - Mac App Storyboard - 在 NSViewController 中访问文档

标签 objective-c macos cocoa storyboard

我目前正在与基于 Storyboard的 Cocoa 应用程序( Objective-C )中的 NSDocument 打交道。 谁能告诉我如何访问 NSViewController 子类中的文档?

我尝试通过以下方式访问它 - 但文档为空:

[self.view.window.windowController document];

感谢您的帮助!

最好的问候 马丁

最佳答案

我自己也在纠结这个问题。我从标准的 Yosemite 模板开始,并尝试在 -viewDidLoad 中使用 [self.view.window.windowController document]。此时,self.view.windownil,因此无法访问 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/

相关文章:

swift - 如何使用 subview 在 Mac OSX 中保存 NSI​​mage?

objective-c - 如何替换 cocoa 中的第一个字节

Objective-c 悬停时为 NSTextField 标签下划线

macos - 将鼠标光标更改为非事件 NSWindow

ios - intrinsicContentSize 与 sizeThatFits。有什么不同?每个的用例是什么?

ios - CollectionView 滚动时更改单元格背景图像

ios - 在 Swift 中强制崩溃的最简单方法

objective-c - 为什么我的 Cocoa 选择器实际上没有被调用?

objective-c - 无法识别的选择器发送到实例错误

javascript - Objective-c [For 循环] 在 UIWebview 中加载 HTML 并从 JavaScript 函数检索数据