2016-10-18 2 views
0

В интерфейсе Builder NSTableView настроен на сортируемые столбцы (нажав на заголовки столбцов). Источник данных использует NSArray. При обновлении строки данных данные таблицы перезагружаются, что обновляет массив и выставляет строки данных в соответствии с порядком массива.Восстановление порядка сортировки NSTableView после перезагрузки

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

+0

Использование 'NSArrayController' – vadian

ответ

0

Ответ был у меня под носом. Я могу использовать метод источника данных tableView:sortDescriptorsDidChange:.

Я думаю, что более чистым решением является публикация уведомления для источника данных. Это должно быть то же уведомление, что и при нажатии на заголовок столбца. Если кто-нибудь знает, любезно поделитесь здесь.

-1

Вместо использования NSArray использовать NSMutableArray в источнике данных и сортировать в соответствии с sortDescriptors.Mutable array будет хранить записи в соответствии с порядком сортировки столбцов таблицы.

Смежные вопросы