события не вызывают в приложении какао - PullRequest
0 голосов
/ 02 декабря 2011

Вот заголовочный файл:

@interface MainDreamer : NSWindow <NSWindowDelegate>
{    
    IBOutlet NSTextField *myField;
    IBOutlet NSTableView *myTable;    
    IBOutlet NSImageView *myView;

    IBOutlet NSMutableArray *mylist;  
    IBOutlet NSMutableArray *dataset;
}

- (IBAction)addRecord:(id)sender;
- (IBAction)deleterecord:(id)sender;

@property (assign) IBOutlet NSWindow *window;

@end

Я реализовал несколько событий в файле .m:

- (void) mouseDown:(NSEvent *)theEvent{
    NSLog(@"mouse down");
}

- (void) mouseUp:(NSEvent *)theEvent{
    NSLog(@"mouse up");
}

- (void) tableViewSelectionDidChange: (NSNotification *) notification{
    NSLog(@"selected row changed");
}

- (BOOL) acceptsFirstResponder{
    return YES;
}

Однако ни один из них не вызывается (я проверил это, установив точку останова).

Другие методы в программе работают нормально, в том числе, так что все с проводами вроде бы нормально

Почему не запускаются обработчики событий?

1 Ответ

1 голос
/ 03 декабря 2011

Если вы зайдете в свой файл xib и нажмете в своем окне, какой тип «Пользовательский класс» установлен?NSWindow или MainDreamer.

Тот факт, что ни один из ваших методов не работает, говорит мне, что он все еще установлен на NSWindow.Попробуйте установить свой «Пользовательский класс» на MainDreamer и посмотрите, что произойдет потом.

...