Ron*_*ann 1 cocoa delegates objective-c
我对委托方法有疑问。将数组填充到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;
}
Run Code Online (Sandbox Code Playgroud)
看来您拼错了这个资料来源(而非委派)方法。更改此:
- (id)cmdTableView:(NSTableView *)tv
objectValueForTableColumn :(NSTableColumn *)cmdTableView
row :(int)rowIndex
Run Code Online (Sandbox Code Playgroud)
对此:
- (id)tableView:(NSTableView *)tv
objectValueForTableColumn :(NSTableColumn *)column
row :(int)rowIndex
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
303 次 |
| 最近记录: |