将数据发送到全球hud的概念性帮助Cocoa

时间:2010-04-12 23:41:33

标签: objective-c cocoa controller nsdocument

我有一个多文档应用程序。

我想从每个文档中提取数据,并将数据的一个子集镜像到一个可以位于另一个屏幕上的全局“管理”HUD窗口。

我是否需要在每个文档实例中使用HudController的全局对象,或者我是否可以将各种文档中的所有信息作为自己的实例委托给HudController?

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

  

有没有办法可以将各种文档中的所有信息委托给HudController作为自己的实例?

这是单身人士合适的一种情况。还有一些类似面板的其他例子;字体面板和颜色面板都以类似的方式工作。所以,让你的HudController成为一个单身人士(我有suggestions on how best to do that)。

然后,让HudController监视文档以进行更改。细节会有所不同,但您可能希望提供文档类公共属性来访问模型,然后让HudController监视文档窗口的打开和关闭;当其中一个发生时,让HudController开始或结束observing每个窗口匹配文档的那些属性。

只要以KVO兼容的方式更改属性的值,更改就会自动向HudController发出通知,然后您将通过更新在HUD窗口中显示的内容来响应更改。 / p>