我可能会问非常简单的问题,但我无法摆脱这个问题,要求是,
- 表格应在其旁边显示图像和一些文本。为此,我在表格中添加了两列
- NSTableView 应该是透明的。为此,我创建了一个 CustomNSTableView 类,在内部覆盖 drawRect 方法以不绘制背景,并告诉单元格不要绘制背景。
- 现在下一个障碍是如何显示图像,我必须覆盖/处理以下方法
.
- (NSCell *)tableView:(NSTableView *)tableView dataCellForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row{
NSImage *pCellImage = // Get a valid Image ;
if(tableColumn == nil ) return nil;
NSString *colName = [tableColumn identifier];
if([colName isEqualToString:@"firstColumn"]){
NSCell *pCell = [[NSCell alloc]initImageCell:pCellImage];
return pCell;
}else{
NSCell *pCell = [[NSCell alloc]initTextCell:@"Some text"];
return pCell;
}
}
我添加了 tableColumn == nil 条件,如在文档中给出的,第一次为每一行,当我需要为整行设置单个列时,这将用 tableCOlumn nil 调用,但是如果我返回它的崩溃并带有评论 BAD_ACCESS ,
现在我的问题是如何处理 nil 条件,同样在这个函数中,在为两个 Column 设置 NSCell 之后,它会转到另一个委托函数
- (id) tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
我相信,正确设置 dataSet 后,我不需要使用此功能,
通过以下实现,它崩溃了,但我无法弄清楚,出了什么问题,
我正在设置正确的数据源和委托,