0
我正在通過Apple OS x開發人員庫學習可可的大綱視圖。示例源代碼是這樣的:爲什麼objectValueForTableColumn爲outlineView調用了那麼多次?
- (id)outlineView:(NSOutlineView *)outlineView child:(NSInteger)index ofItem:(id)item {
return (item == nil) ? [FileSystemItem rootItem] : [(FileSystemItem *)item childAtIndex:index];
}
- (BOOL)outlineView:(NSOutlineView *)outlineView isItemExpandable:(id)item {
return (item == nil) ? YES : ([item numberOfChildren] != -1);
}
- (NSInteger)outlineView:(NSOutlineView *)outlineView numberOfChildrenOfItem:(id)item {
return (item == nil) ? 1 : [item numberOfChildren];
}
- (id)outlineView:(NSOutlineView *)outlineView objectValueForTableColumn:(NSTableColumn *)tableColumn byItem:(id)item {
return (item == nil) ? @"/" : [item relativePath];
}
這將列出我的系統中的所有文件,如樹。 的問題是:
1.如果有32個文件「/」下,該方法
- (id)outlineView:(NSOutlineView *)outlineView objectValueForTableColumn:(NSTableColumn *)tableColumn byItem:(id)item
將被調用62次,我不知道爲什麼?
2.方法
- (id)outlineView:(NSOutlineView *)outlineView objectValueForTableColumn:(NSTableColumn *)tableColumn byItem:(id)item
沒有關於行參數,那麼如何可可確定項目應該顯示哪一行?
非常感謝你 – NOrder 2012-07-24 07:40:28