Есть ли лучший способ получить доступ к документу из его подпредставлений? - PullRequest
3 голосов
/ 04 ноября 2011

У меня есть несколько классов, расположенных в моем Документе, таких как NSNotificationCenter и NSUndoManager, к которым мне нужен доступ из моих подпредставлений.

Сейчас я могу получить к ним доступ, выполнив что-то вроде этого:1005 * Есть ли лучший подход, о котором я не знаю?Спасибо.

1 Ответ

3 голосов
/ 04 ноября 2011

Почему представление должно беспокоиться об отмене менеджера? Похоже, какой-то рефакторинг может быть в порядке.

Обычно представление может вызывать некоторые действия в первом респонденте. Затем это действие передается по цепочке респондента до тех пор, пока не найдет объект, такой как оконный контроллер или документ, который отвечает на это действие. Событие отмены обычно влияет на модель данных, поэтому документ будет обрабатывать что-то подобное. Когда пользователь отменяет предыдущую операцию, модель возвращается в предыдущее состояние, и иерархия представления отражает это изменение.

Возможно ли в вашем случае перенести ответственность за работу с менеджером отмены на документ?

То же самое может относиться к центру уведомлений. Если в документе есть центр уведомлений, почему представление пытается его использовать? Можете ли вы использовать цепочку респондента, как описано выше, чтобы получить сообщение для документа? Также есть центр уведомлений по умолчанию, который вы можете получить с помощью +defaultNotificationCenter, если это более уместно.

...