Я изучаю Objective-C, создавая приложение для базового калькулятора для OSX. Все работает красиво, за исключением того, что мне нужно разрешить нажатие определенных клавиш на клавиатуре, чтобы сделать то же самое, что если бы вы нажали кнопки на интерфейсе.KeyEvents в какао и XCode
Все, что я читаю, говорит, что для их захвата вы должны иметь логику в подклассе NSResponder. Моя проблема связана с тем, как я «подключаю» этот файл. Создание нового .h и .m файл, который подклассом NSResponder как например:
Responder.h
#import <Foundation/Foundation.h>
@interface Responder : NSResponder
- (void)keyDown:(NSEvent *)event;
@end
Responder.m
#import "Responder.h"
@implementation Responder
- (void)keyDown:(NSEvent *)event {
NSAlert *alert = [[NSAlert alloc] init];
[alert addButtonWithTitle:@"OK"];
[alert setMessageText:@"Hey"];
[alert setInformativeText:@"You Pressed A Key!"];
[alert setAlertStyle:NSWarningAlertStyle];
[alert runModal];
}
@end
Как приложение знает, как использовать этот файл? Есть ли где-то в интерфейсе файл .xib, где я перетаскиваю эту синюю стрелку и «подключаю» ее где-нибудь? Я вообще делаю это правильно? Я давно искал это, и все в значительной степени предполагает, что я знаю, как получить подкласс NSResponder в моем приложении. Думаю, я действительно теряю фундаментальную концепцию. Любая помощь приветствуется!
Очень хорошо выражено. Я хочу, чтобы все задавали вопросы таким образом! – matt