将数据传递给特定的开放NSDocument?

时间:2011-08-02 22:09:27

标签: objective-c cocoa nsdocument

我在这个问题上遇到了很多麻烦。我需要为特定文档提供NSViewControllerNSView遍整数。我真的希望它将数据传递给关键窗口所代表的文档(我希望这是有意义的),但我正在做的方式将数据传递给所有打开的文档。

我正在使用基于文档的应用程序,来自Xcode模板(Cocoa应用程序和“基于文档的应用程序”复选框。有没有办法做到这一点?

我没有发布我的代码,因为它真的太尴尬了。基本上,我在NSViewController中有一个“getter”方法,但我还没有想过将数据传回去的好方法。我最终得到了数百行代码,这些代码应该使文档使用另一种“getter”方法将数据拉回来,但它们没有做任何事情。

有没有关于此的文件?

1 个答案:

答案 0 :(得分:1)

关键窗口后面可能没有文档,它只是首先接收事件的窗口,我想你可能会追求的是-[NSApplication mainWindow],你可以从中获取窗口控制器文档,或者您可以观察NSWindowDidBecomeMainNotification以跟踪哪个窗口现在是主窗口,或者您可以使用方法-[NSAppliation orderedDocuments]来获取前端文档。 Personnaly我喜欢NSNotification,但可能有树脂你更喜欢其他方法之一。