0
votes

I'm stumped. My Swift app uses an NSTableView bound to an array controller, and uses a bound NSSearchField as a text filter. My problem is that the table's selectionIndexes binding gives me the selected indexes in the filtered table, whereas I need the selected indexes in the unfiltered table.

Example... my table has 1000 rows and I want to select row 567. Rather than scroll down to row 567, I enter a few characters into the search box, and this reduces the number of rows to 17, and the row I'm interested in is now row 12. If I select row 12, how can my app figure out that row 12 corresponds to row 567 in my data array?

1
Do you really need the indexes or do you want to get the objects?Willeke
Objects would work.Dave Thompson

1 Answers

0
votes

selectionIndexes of NSArrayController are indexes in arrangedObjects of the arrayController. arrangedObjects is the content of the arrayController, filtered by filterPredicate and sorted by sortDescriptors.