所以我承认我对可可完全是个菜鸟,所以我提出了一个菜鸟问题。我可能只是在某处错过了明显的愚蠢,但我似乎无法让我的表格填充数据。
我正在关注表格视图操场示例,但每次我尝试模仿基本 TableView 窗口时,第一行都会变成我添加的行数的高度(至少看起来是这样。这是我的代码:
- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(int)row
{
NSString *identifier = [tableColumn identifier];
if ([identifier isEqualToString:@"filename"]) {
// We pass us as the owner so we can setup target/actions into this main controller object
NSTableCellView *cellView = [fileBrowserTable makeViewWithIdentifier:identifier owner:self];
// Then setup properties on the cellView based on the column
cellView.textField.stringValue = [fileList filenameAtIndex:row];
cellView.imageView.objectValue = [[NSWorkspace sharedWorkspace] iconForFile:[fileList fullPathAtIndex:row]];
return cellView;
}
else if ([identifier isEqualToString:@"path"]) {
NSTextField *textField = [fileBrowserTable makeViewWithIdentifier:identifier owner:self];
textField.objectValue = [fileList pathAtIndex:row];
return textField;
}
else if ([identifier isEqualToString:@"preview"]) {
NSTextField *textField = [fileBrowserTable makeViewWithIdentifier:identifier owner:self];
textField.objectValue = [fileList previewAtIndex:row];
return textField;
}
return nil;
}
我认为值得一提的是,当使用老式的文本字段单元格时,我在显示数据时没有问题(当然上面的代码在这种情况下是不同的)所以我肯定这不是我保存值的数据结构的问题. 我还设置了正确的委托和数据源
使用“文件名”标识符的单元格使用“图像和文本表格视图单元格”,而其他单元格仅使用“文本表格单元格视图”。它们都不起作用,所以我猜我设置桌子的方式有问题。但是当将我的表与示例的表进行比较时,它只是一个随地吐痰的反射(减去标识符文件名)。
我注意到我无法弄清楚的一件事是该示例说:
NSTableView 有两个重用标识符关联:“MainCell”和“SizeCell”都与 nib ATBasicTableViewCells.xib 关联
我真的不明白这个说法。然而话虽如此,该示例不包含任何我能找到的 ATBasicTableViewCells.xib 也没有任何关联(代码或 ib)。