我有一个多文档应用程序。
我想从每个文档中提取数据,并将数据的子集镜像到可以位于另一个屏幕上的全局“管理”HUD 窗口中。
我是否需要在每个文档实例中使用 HudController 的全局对象,或者有没有办法可以将各种文档中的所有信息作为其自己的实例委托给 HudController?
谢谢你的帮助!
我有一个多文档应用程序。
我想从每个文档中提取数据,并将数据的子集镜像到可以位于另一个屏幕上的全局“管理”HUD 窗口中。
我是否需要在每个文档实例中使用 HudController 的全局对象,或者有没有办法可以将各种文档中的所有信息作为其自己的实例委托给 HudController?
谢谢你的帮助!
有没有办法可以将各种文档中的所有信息作为其自己的实例委托给 HudController?
这是适合单例的一种情况。还有一些类似面板的其他示例;字体面板和颜色面板都以类似的方式工作。所以,让你的 HudController 成为一个单例(我有关于如何最好地做到这一点的建议)。
然后,让 HudController 监视文档的更改。细节会有所不同,但您可能希望为文档类提供公共属性,通过该属性访问模型,然后让 HudController 监视打开和关闭的文档窗口;当其中一种情况发生时,让 HudController 开始或结束观察每个窗口匹配文档的这些属性。
只要您以与 KVO 兼容的方式更改属性的值,更改就会自动向 HudController 发出通知,然后您将通过更新您在 HUD 窗口中显示的内容来响应更改。