Я работаю над изучением Objective-C / Coaoa, но, похоже, я немного застрял с тем, чтобы заставить работать объект NSTableView. Я следовал всем указаниям, но по какой-то причине я все еще получаю эту ошибку:
Class 'RobotManager' does not implement the 'NSTableViewDataSource' protocol
Вот мой источник, скажи мне, что ты видишь, что здесь не так, я вот-вот оторву свое лицо.
RobotManager.h
@interface RobotManager : NSObject {
// Interface vars
IBOutlet NSWindow *MainWindow;
IBOutlet NSTableView *RobotTable;
NSMutableArray *RobotList;
}
- (int) numberOfRowsInTableView: (NSTableView*) tableView;
- (id) tableView:(NSTableView *) tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(int)rowIndex;
@end
RobotManager.m
#import "RobotManager.h"
@implementation RobotManager
-(void) awakeFromNib {
// Generate some dummy vals
[RobotList addObject:@"Hello"];
[RobotList addObject:@"World"];
[RobotTable setDataSource:self]; // This is where I'm getting the protocol warning
[RobotTable reloadData];
}
-(int) numberOfRowsInTableView: (NSTableView *) tableView {
return [RobotList count];
}
-(id) tableView:(NSTableView *) tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(int)rowIndex {
return [RobotList objectAtIndex:rowIndex];
}
@end
Я использую OS X 10.6.1, если это что-то меняет. Заранее спасибо.