Простите за супернубский вопрос, но я гуглю это в течение последнего часа и расстраиваюсь, что не могу найти ответ на такой очень простой вопрос:
Как мне обрабатывать изменения управления в Cocoa?
Я исхожу из iOS, и ясно, что Cocoa не использует выходы или делегаты для обработки событий так же, как это делает UIKit, и я чувствую, что мне здесь просто не хватает какой-то очень важной информации. Я понял, что он использует цепочку первого ответчика, но помимо этого я не могу понять, как это сделать на самом деле или как даже найти, где эти события определены или задокументированы.
Итак, у меня есть NSSegmentedControl
внутри NSToolBar
, и я просто хочу знать, когда пользователь меняет выбранный сегмент. Я просмотрел документацию класса, но не нашел ни одного упоминания о каких-либо событиях или действиях, которые нужно обрабатывать. Я заметил, что если я перетаскиваю выход action
элемента управления на свой прокси-сервер первого ответчика, я получаю список из квадриллиона различных действий, ни одно из которых не кажется уместным.
Как же мне сделать это в Cocoa?
IBAction
работает так же, как и в iOS. Очень умный способ, которого нет в iOS, — это Cocoa Bindings. - person vadian   schedule 18.04.2017IBAction
в целевом классе и подключите действие в Interface Builder (это то же самое, что и в iOS). Привязки не являются излишеством, это далеко не так. В большинстве случаев это меньше кода. - person vadian   schedule 18.04.2017action
в свой класс, и он создал общий выход действия, который действительно вызывается при изменении сегмента. Наверное, я искал что-то более конкретное. - person devios1   schedule 18.04.2017.selectedSegment: Int
. - person mikeD   schedule 18.04.2017