-makeFirstResponder: использование - PullRequest
1 голос
/ 01 апреля 2011

Я довольно новичок в программировании какао, и я хотел бы спросить, может ли кто-нибудь объяснить мне, как -(BOOL)makeFirstResponder:(NSResponder *)responder; метод работает. Я планировал использовать его для NSEvent, но кто-нибудь может показать мне, как его реализовать?

Я пытаюсь использовать класс NSResponder, чтобы заставить меня работать -keyDown метод.

Ответы [ 3 ]

3 голосов
/ 01 апреля 2011

NSResponder - один из фундаментальных классов в Какао.Любой класс, который может реагировать на такие события, как нажатия клавиш или команды меню, должен быть подклассом NSResponder.Каждый респондент отслеживает своего «следующего респондента», а каждое окно отслеживает объект, который в данный момент является «первым респондентом».Когда в окне происходит событие, сообщение отправляется первому респонденту.Если этот объект обрабатывает сообщение, отлично.Если нет, он передает его следующему респонденту.Это известно как «цепочка респондента».

Обычно, вы не сильно путаетесь с цепочкой респондента в Какао.Первый респондент в основном определяется действиями пользователя, такими как нажатие на элемент управления.

Не имеет смысла «использовать его для NSEvent».NSEvent - не респондент, а то, что позволяет респондентам выполнять свою работу.

Если вы более четко опишите, чего вы пытаетесь достичь, я уверен, что мы можем указать вам верное направление.

2 голосов
/ 01 апреля 2011

Обычно вы не реализуете -makeFirstReponder:, вы вызываете его, чтобы установить фокус ввода для вида. Чего вы действительно хотите достичь?

1 голос
/ 02 апреля 2011

Я пытаюсь использовать класс NSResponder, чтобы получить работающий метод keyDown.

Это не имеет смысла. «Использовать» класс?

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

См. Также Руководство по обработке событий , View Programming Guide и видео для сеанса 145 («Обработка ключевых событий в приложениях какао») из WWDC Видео сессий 2010 года (к которым вы должны иметь доступ через свою учетную запись разработчика, даже если вы не посещали WWDC в прошлом году).

...