концептуальная помощь по отправке данных в глобальный HUD, Какао - PullRequest
0 голосов
/ 13 апреля 2010

У меня есть мультидокументное приложение.

Я хочу получить данные из каждого из этих документов и отразить подмножество данных в глобальном окне управления HUD, которое может находиться на другом экране.

Нужен ли глобальный объект моего HudController в каждом экземпляре документа или есть способ, которым я могу делегировать всю информацию из различных документов в HudController как его собственный экземпляр?

спасибо за любую помощь!

1 Ответ

1 голос
/ 13 апреля 2010

есть ли способ, которым я могу делегировать всю информацию из различных документов в HudController как его собственный экземпляр?

Это тот случай, когда подходит синглтон. Есть несколько других примеров подобных панелей; Панель шрифтов и Панель цветов работают одинаково. Итак, сделайте ваш HudController синглтоном (у меня есть предложений о том, как лучше всего это сделать ).

Затем HudController контролирует документы на предмет изменений. Детали могут различаться, но вы, вероятно, захотите предоставить открытые свойства класса (-ов) документа, через которые будет осуществляться доступ к модели, а затем попросите HudController наблюдать за открытием и закрытием окон документов; когда это происходит, пусть HudController начинает или заканчивает , наблюдая за этими свойствами соответствующего документа каждого окна.

Пока вы изменяете значения свойств в KVO-совместимом способе, это изменение будет автоматически вызывать уведомление для HudController, после чего вы будете реагировать на изменение, обновляя то, что отображается в окне HUD.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...