每次单击 NSOutlineView 的一行时都会调用此方法。我认为应该为每个列行只调用一次以创建单元格:
- (NSCell *)outlineView:(NSOutlineView *)outlineView dataCellForTableColumn:(NSTableColumn *)tableColumn item:(id)item
{
if ([[tableColumn identifier] isEqualToString:@"title"]) {
CBImageTextCell *cell = [[CBImageTextCell alloc] init];
...
return [cell autorelease];
}
}
因此,我是否初始化了不必要的单元格?
我深入研究此代码的原因是,当我单击一个单元格时,会调用hitTestForEvent两次。
谢谢