Где должны быть реализованы связанные с документами действия для приложения Какао? - PullRequest
2 голосов
/ 20 марта 2010

Я пишу основанное на документе приложение Какао, которое в основном представляет собой программу графического редактирования. Я хочу, чтобы пользователь мог показывать / скрывать немодальные окна (например, окно инспектора). Поскольку эти окна будут отображаться / скрываться от пунктов меню, где находится «лучшее» место для выполнения действий, например - (IBAction)toggleInspector:(id)sender?

Я видел, что в коде примера Sketch они реализованы в делегате приложения, и экземпляры оконного контроллера также сохраняются там, но это скорее удобное место для размещения, чем самый "изящный" место. Кроме того, поскольку этот инспектор будет иметь отношение только к открытому документу, создается впечатление, что он должен быть больше связан с основным NSWindowController документа, чем с приложением.

1 Ответ

2 голосов
/ 21 марта 2010

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

Нет, потому что Инспектор является общим для всех документов; в одном документе нет одного инспектора.

Помните, что в одном процессе может быть открыто несколько документов; это не несколько процессов, по одному на документ, как в Windows, а несколько документов в одном процессе. В каждом процессе есть один Инспектор, который используется всеми документами, и он применяется к любому из этих документов в данный момент.

Я бы дал Инспектору свой собственный контроллер, созданный в пике MainMenu.

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