Я изучаю цель-C, и мне нужно обработать событие нажатия мыши.
Мой заголовок выглядит примерно так:
@interface TestAppDelegate : NSWindow <NSWindowDelegate> {
NSWindow *window;
IBOutlet NSTextField* text_box;
}
в то время как файл реализации:
-(void)mouseDown:(NSEvent *)event {
[text_box setFloatValue:1.0];
NSLog(@"It worked!");
}
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification{
[text_box setFloatValue:-1.0];
}
и интерфейс имеет только текстовое поле, подключенное к моему text_box
. В xib-файле я установил имя класса TestAppDelegate
.
Теперь, похоже, работает событие нажатия мыши, и я вижу "Это сработало!" журнал. Однако текстовое поле не обновляется и остается -1
.
Чтобы понять, что происходит, я добавил кнопку, которая связана с
-(IBAction)scrollerChanged:(id)sender {
[text_box setFloatValue:2.0];
}
, и это корректно обновляет мой text_form
до 2
. Следовательно, мои интерпретации состоят в том, что событие мыши вызывает другой экземпляр TestAppDelegate. Я прав? Я делаю что-то в корне не так?
Спасибо!