2013-07-24 1 views
2

Это вопрос о лучших практиках поведения пользовательского интерфейса с помощью NSTableView.Обработка выбранных строк при переупорядочивании NSTableView

У меня есть NSTableView, содержимое которого обновляется иногда. Пользователь имеет возможность выбирать ни одного, ни одного или нескольких строк в таблице. Когда данные обновляются, некоторые строки могут быть удалены или переупорядочены. Поведение NSTableView по умолчанию заключается в том, чтобы сохранить одинаковые индексы строк независимо от того, как данные переупорядочиваются (я понимаю поведение, поскольку как NSTableView знает, куда переместились строки?)

Я мог бы изменить это чтобы изменить выбор после перезагрузки данных, чтобы исходный выбор пользователя оставался выбранным, даже если они перемещались. Это изменит индексы строк, которые будут выбраны, поэтому он может быть также затруднен для пользователя.

У Apple есть что сказать об этой ситуации или существует стандартное поведение?

+0

Я проверил поведение iTunes и сохранил выбранные пользователем элементы после обращения к данным, поэтому я склоняюсь к активному поддержанию выбора пользователя. – Brigham

+0

Другое приложение, которое я нашел, что-то вроде этого - Numbers. Когда вы выбираете строку, затем сортируете по столбцу, ваш выбор сохраняется. – Brigham

ответ

0

Я ничего не нашел в HIG, но документация NSArrayController и документ "Cocoa Bindings Programming Topics" в разделе «Сохранение выбора» указывает, что поведение по умолчанию - это сохранение выбора при изменении содержимого.

См. Также документацию для setPreservesSelection.