NSTableView数据源方法未触发

时间:2012-02-22 05:38:03

标签: objective-c cocoa delegates

我有委托方法的问题。其中一个数组填充到tableView中的是没有触发,我不明白为什么。 结果是我的tableView具有预期的行数,但它们都是空的。 我设置断点但不止于此。

我可以尝试的任何线索?

//This is working

- (id)init  {
   self = [super init];

   cmdListMain = [NSArray arrayWithObjects: @"Cat", @"Dog", @"Fish", nil];   

   NSLog (@"init");


   return self;
}

//This is working

- (int) numberOfRowsInTableView: (NSTableView *) tv
{
    NSLog(@"numberOfRowsInTableView");
return [cmdListMain count];
}

//This one is not firing** 

- (id)cmdTableView:(NSTableView *)tv 
    objectValueForTableColumn :(NSTableColumn *)cmdTableView 
          row :(int)rowIndex
{
   NSLog(@"cmdTableView");
   NSString *v = [cmdListMain objectAtIndex:rowIndex];
   return v;
}

//This is working

-(BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *) theApp  {
   return YES;
}

1 个答案:

答案 0 :(得分:4)

您似乎错误拼写了此数据源(非委托)方法。改变这个:

- (id)cmdTableView:(NSTableView *)tv 
objectValueForTableColumn :(NSTableColumn *)cmdTableView 
      row :(int)rowIndex

到此:

- (id)tableView:(NSTableView *)tv 
objectValueForTableColumn :(NSTableColumn *)column 
      row :(int)rowIndex