Подтвердить что ты не робот

Как можно использовать "Первый ответчик" в файле xib?

Я читал о цепочках ответчиков, и в основном я читал о том, как события из пользовательского интерфейса передаются в цепочке ответчиков, как их обрабатывать и как проходить. Я также использовал -becomeFirstResponder и -resignFirstResponder, но я использовал их только для базовых задач, таких как отображение клавиатуры на iOS и обработка событий тряски.

Я хотел бы знать, как я могу использовать прокси-объект "Первый ответчик" в MainWindow.xib, который генерирует Xcode. Я вижу некоторые полученные действия, а также вижу, что я могу создавать действия на вкладке Инспектора удостоверений.

Итак, мой вопрос: как я могу использовать эти действия и , когда я должен использовать этот прокси-объект в IB?!

Interface Builder Screenshot

Спасибо заранее.

4b9b3361

Ответ 1

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

На рабочем столе Cocoa сообщение, предназначенное для первого ответчика, фактически является действием nil -targeted - никакая цель неявно понимается как первый возможный ответчик, первый ответчик.

Часто текстовые действия направляются первому ответчику. Вы хотите, чтобы нажатия клавиш были отправлены в зависимости от того, какое текстовое поле имеет фокус, но текстовое поле, которое имеет фокус, изменяется в течение срока действия представления и приложения. Вы можете вручную перенастроить действие каждый раз, когда текстовое поле получает фокус, но благодаря NSResponder вам не нужно беспокоиться - все, о чем вас заботятся.

Ответ 2

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