Вы думаете об этом не на том уровне. NSView
и NSWindow
являются объектами представления в шаблоне Model-View-Controller и не должны использоваться для хранения данных приложения. Цвет, выбранный на панели предпочтений, является данными приложения и должен храниться в соответствующем объекте модели.
Вы можете, например, использовать привязки для точного связывания цвета с объектом NSUserDefaultsController
для хранения этих данных (при условии, что это настройка для всего приложения). Вы не сказали точно, для чего используется цвет в главном окне, но если объект, который его использует, распознает привязки, вы можете привязать этот объект к тому же значению на NSUserDefaultsController
и все готово.
В противном случае вы можете ответить на сообщение о действии цветовой ямы, чтобы сохранить цвет в соответствующем месте, а затем отправить уведомление, используя NSNotificationCenter
, чтобы сообщить другим объектам, что цвет изменился. Вам нужно будет зарегистрировать любой объект, который необходимо предпринять, когда значение изменится для вашего уведомления.
Вот некоторые ресурсы: