Hey there,
I've started implementing Differ in our app to drive changes to our TableView.
As our app needs to support 10.15+, we cannot use the native DiffableSource implementation.
So using extendingDiff and patch, I realized that the current AppKit extension that applies the patch to the NSTableView is not using the reloadData(forRowIndexes: IndexSet, columnIndexes: IndexSet) when changes are applicable to a single row.
Here's our patch description:
EmailList DiffPatch [D(4), I(4,<Ocean.EmailListSource: 0x600002d323c0>)]
Why is this important?
By using Delete and Insert, if the selected row was 4, then it is automatically deselected.
This behavior, instead of using reloadDate(forRow...) makes for a pretty bad UX in our case.
Any suggestions on how to circumvent that? Thanks