У меня есть два оконных контроллера (с их собственными контроллерами представлений) на раскадровке.Использование нескольких окон с раскадровки (разработка Mac OS X)
В одном окне у меня есть основная программа, основной текстовый редактор с NSTextView. В другом окне у меня есть одна кнопка.
Я узнал, как получить окно для отображения, связав его с пунктом меню. Оно работает.
Главное окно связано с моим классом ViewController по умолчанию. Второе окно также связано с классом ViewController и имеет свою кнопку, связанную с IBAction в классе ViewController.
У меня есть простой код в IBAction, который в основном сообщает NSTextView об изменении размера шрифта на гораздо больший шрифт. Я подтвердил, что сам код работает при вызове другими способами.
Эта кнопка работает, BUT использует совершенно другой экземпляр класса ViewController. Таким образом, в результате: размер текста не изменяется.
Итак, мой главный вопрос: Как получить IBAction в одном окне, чтобы повлиять на объект в другом окне.
Надеюсь, я сделал в порядке работу по разъяснению себя. Имейте в виду, что это мой первый вопрос о переполнении стека :) Я старался изо всех сил исследовать этот вопрос, но в основном нашел информацию о разработке iOS и использовании XIB-файлов.
Уведомления, похоже, делают трюк. Благодаря! Есть ли способ отправить объект через NSNotification. Например, скажем, у меня вместо колокольчика был цветной колокольчик. Есть ли способ отправить значение NSColor цвета через NSNotification? –
Вы можете передать словарь в параметре userInfo, который может содержать больше всего, что вы хотите. https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSNotification_Class/index.html#//apple_ref/occ/instm/NSNotification/initWithName:object:userInfo: – theMikeSwan
Спасибо! Отличные предложения, но сегодня я нашел кое-что, что будет работать еще лучше для меня: общие экземпляры :) –