Определить, какая клавиша нажата [закрыта]

Как узнать, какая клавиша была нажата в приложении какао (я знаю, что каждая клавиша имеет связанный номер)? В моем случае я хочу зарегистрировать ключ на консоли.

Это мой код:

- (BOOL)acceptsFirstResponder {
return YES;
}


-(void)keyUp:(NSEvent*)event {
NSLog(@"Key %@", event);
}
 Arpit B Parekh07 окт. 2012 г., 19:50
Вы имели в виду ключ клавиатуры?
 mginn21 июн. 2015 г., 02:12
Это на самом деле не слишком локализовано. Я'Мы только что столкнулись с той же проблемой и легко видим, как она будет применяться.
 bbum07 окт. 2012 г., 20:05
Где вы положили этот код? Вы можете'просто вставьте случайные куски кода в проект и ожидайте чего-то полезного. Вы должны немного понять о какаос архитектурой, чтобы знать, как работает даже обработка.
 mginn21 июн. 2015 г., 02:11
Код не случайный, он находится в контроллере, который был бы весьма актуален для стоящей перед нами задачи. keyUp () действительно является правильным методом в этом случае, OP просто хотел знать, как извлечь информацию из одного из своих аргументов.

Ответы на вопрос(2)

ИспользоватьNSEvent методы,keyCodecharacters или же .charactersIgnoringModifiers

- (void)keyUp:(NSEvent *)event {
    NSLog(@"Characters: %@", [event characters]);
    NSLog(@"KeyCode: %hu", [event keyCode]);
}
 Viper OS X07 окт. 2012 г., 19:28
извини но я новичок NSLog ничего не показывает.
 DrummerB07 окт. 2012 г., 19:29
В каком классе вы используете это? Где вы инициируете экземпляр?
 DrummerB07 окт. 2012 г., 19:35
Но где ты это добавил? Вы можете начать читать некоторые учебники или документацию, например,Основы какао или жеЯзык программирования Objective-C.
 DrummerB07 окт. 2012 г., 19:46
Это'Это совсем не сложно, но вы должны реализовать этот метод в нужном месте. В подклассеNSResponder чтобы быть более точным.
 user346214322 июл. 2017 г., 06:03
Почему Дон'Вы, ребята, показывает полный фрагмент кода, от импорта до метода main, что это делает? Действительно простой вопрос, пожалуйста, если кто-то может ответить чем-то лучшим, чем просто: "вот документация, иди почитай ".
 Viper OS X07 окт. 2012 г., 19:44
может быть так сложно сказать, какая клавиша нажата?
 bbum07 окт. 2012 г., 20:04
Нет, это неЭто сложно. Если вы никогда раньше не видели автомобильный двигатель, и кто-то сказал:здесь поменяй свечи зажигания, вы'Я понятия не имею, что делать, хотя это очень легко.
 Viper OS X07 окт. 2012 г., 19:32
все, что я добавил в свой проект, - это код там, где он редактируется, с вашим кодом

NSEvent имеетkeyCode метод, который возвращает именно то, что выищу.

 Viper OS X07 окт. 2012 г., 19:37
как это? :- (void)keyUp:(NSEvent *)event keyCode:(unsigned short)
 DrummerB07 окт. 2012 г., 19:44
Нет, как в моем коде.
 Carl Norum07 окт. 2012 г., 19:46
@Viper, я думаю, тебе нужно прочитать какую-нибудь документацию или руководства. Я даже поместил ссылку на документы в своем ответе. Похоже, у вас есть несколько довольно фундаментальных вопросов о том, как работает Objective-C - вам лучше справиться с попыткой сначала разобраться в некоторых основах.

Ваш ответ на вопрос