Доступ к объектам на одном файле пера из другого файла пера

У меня есть два файла пера - Main.nib и Preference.nib В Main.nib файл у меня есть экземпляр NSView класс. Его окно имеет a NSPopUpButton который при нажатии на шоу меню. В меню у меня есть выставочный объект Меню свойства. Пункт меню при нажатии на шоу предпочтительная панель, содержащая цвет хорошо объект. При нажатии на цвет хорошо цветная панель отображена для выбора цвета. Проблема состоит в том, как применить тот цвет к окну главного приложения.

Мое предпочтительное окно панели находится в файле Preference.nib. Таким образом, проблема получает доступ NSView из другого Окна Пера.

Есть ли путь так, чтобы я мог установить связь между предпочтительной панелью и моим окном главного приложения (NSView)

1
задан Justin Boo 17 May 2012 в 19:24
поделиться

1 ответ

Вы думаете об этом не на том уровне. NSView и NSWindow являются объектами представления в шаблоне модель-представление-контроллер и не должны использоваться для хранения данных приложения. Цвет, который вы выбираете на панели предпочтений, является данными приложения и должен храниться в соответствующем объекте модели.

Вы можете, например, использовать привязки для привязки цвета к объекту NSUserDefaultsController для хранения этих данных (при условии, что это параметр для всего приложения). Вы не сказали точно, для чего используется цвет в вашем главном окне, но если объект, который его использует, знает привязки, вы можете привязать этот объект к тому же значению в NSUserDefaultsController , и вы сделано.

В противном случае вы можете ответить на сообщение о действии цветного колодца, чтобы сохранить цвет в соответствующем месте, а затем отправить уведомление с помощью NSNotificationCenter , чтобы сообщить другим объектам, что цвет изменился. Вам нужно будет зарегистрировать любой объект, который должен действовать при изменении значения вашего уведомления.

Вот некоторые ресурсы:

2
ответ дан 2 September 2019 в 23:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: