我有一个基于数据源/ View 的 NSOutlineView
,它能够更改行中表示的数据类型,即使实际的 item
对象引用仍然存在相同。当发生这种突变时,其中一列需要加载不同的 NSTableCellView
。我尝试在突变后执行以下操作:
[outlineView reloadItem:updatedItem reloadChildren:YES];
当它被调用时,将调用以下 NSOutlineViewDataSource
方法:
-outlineView:isItemExpandable:
-outlineView:child:ofItem:
但是这个方法永远不会被调用:
-outlineView:viewForTableColumn:item:
如何强制 NSTableView
实际重新加载特定项目的 View ?
最佳答案
你需要使用
- (void)reloadDataForRowIndexes:(NSIndexSet * nonnull)rowIndexes columnIndexes:(NSIndexSet * nonnull)columnIndexes
确保调用您的 viewForTableColumn
委托(delegate)方法。
关于macos - 如何强制基于 View 的 NSOutlineView 重新加载项目的 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32153509/