我正在努力学习 Objective-C/Coaoa,但我似乎有点坚持让 NSTableView 对象为我工作。我已按照所有指示进行操作,但由于某种原因,我仍然收到此错误:
Class 'RobotManager' does not implement the 'NSTableViewDataSource' protocol
这是我的消息来源,告诉我你在这里看到了什么,我要撕掉我的脸。
机器人管理器.h
@interface RobotManager : NSObject {
// 接口变量
IBOutlet NSWindow *MainWindow;
IBOutlet NSTableView *RobotTable;
NSMutableArray *RobotList;
}
- (int) numberOfRowsInTableView: (NSTableView*) tableView;
- (id) tableView:(NSTableView *) tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(int)rowIndex;
@结尾
机器人管理器.m
#import "RobotManager.h"
@实现机器人管理器
-(无效)awakeFromNib {
// 生成一些虚拟 val
[RobotList addObject:@"Hello"];
[RobotList addObject:@"World"];
[RobotTable setDataSource:self]; // 这是我收到协议警告的地方
[RobotTable 重载数据];
}
-(int) numberOfRowsInTableView: (NSTableView *) tableView {
返回[机器人列表计数];
}
-(id) tableView:(NSTableView *) tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(int)rowIndex {
返回 [RobotList objectAtIndex:rowIndex];
}
@结尾
如果这有什么不同,我正在运行 OS X 10.6.1。提前致谢。