我有一个基于数据源/视图的NSOutlineView
,它能够更改一行中表示的数据类型,即使实际的item
对象引用保持不变。发生此突变时,其中一列需要加载不同的NSTableCellView
。我在突变后尝试做以下事情:
[outlineView reloadItem:updatedItem reloadChildren:YES];
当调用它时,将调用以下NSOutlineViewDataSource
方法:
-outlineView:isItemExpandable:
-outlineView:child:ofItem:
但这种方法永远不会被调用:
-outlineView:viewForTableColumn:item:
如何强制NSTableView
实际重新加载特定项目的视图?
答案 0 :(得分:4)
你需要使用
- (void)reloadDataForRowIndexes:(NSIndexSet * nonnull)rowIndexes columnIndexes:(NSIndexSet * nonnull)columnIndexes
确保调用viewForTableColumn
委托方法。