获取NSDocument的readFromData :::正确的窗口

时间:2011-08-04 20:35:35

标签: objective-c nsnotificationcenter nsdocument

我已经在我的Cocoa App中成功实现了一个NSDocument类,它也能够正确地保存数据。但是当我打开文件时我遇到了问题。

这是我的基本设置:

NSDocument MyFile == xib File => MyFile.xib

NSObject FileClass作为处理类

FileClass是一个压缩/解压缩文件的类,它连接到MyFile.xib中窗口的文本字段。保存是通过默认的NSNotificationCenter完成的。需要在此类中处理数据,因为它不包含原始NSStrings。

假设我有三个需要打开的文档我有三个NSDocument实例,现在通过NSNotificationsCenter发送数据。因为我有三个NSDocuments我有三个窗口和三个FileClass实例。现在,如果正确的FileClass接收数据,那就好了,因为我无法过滤是否为此窗口建议了接收数据。随机FileClass现在处理文件并设置其关联文本视图的文本。因此,窗口1可以显示被认为在窗口3中显示的数据。

数据流:

NSDocument => readFromData => NSNotificationCenter =>随机FileClass =>关联的TextView。

缩小范围:如何将数据路由到正确的窗口以及如何/在何处将FileClass包含在此构造中?

提前致谢!

1 个答案:

答案 0 :(得分:1)

如果您必须通过通知中心强制将文档数据发送到您的查看类,则表明存在重大设计缺陷。你为什么要那样做?你试图绕过哪些问题?