我正在努力学习 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。提前致谢。