У меня есть NSTableView
, связанный с NSArrayController
через content
и selection indexes
. Все великое до сих пор - содержание отображается и т.д.Поиск сбрасывает выбор NSArrayController none
теперь NSSearchField
связанно с контроллером массива через filterPredicate
и свойство экземпляров содержимого массива, что это для поиска.
Поиск/фильтрация рабочего стола отлично работает; вид таблицы, показывающий только соответствующие записи.
Однако, поиск сбрасывает выбор на NSTableView
, если существующего выбора нет в результатах поиска. Хуже того, не только во время поиска, но и после окончания поиска на табличном представлении нет выбора.
NSArrayController
настроен на Избегать пустого выбора.
Однако, отладка контроллера массива selection indexes
показывает, что поиск сбрасывает их до пустого набора. Не совсем знаю, что сделать из него ..
Любые подсказки о том, как правильно настроить привязки в этом сценарии для действительно предотвратить пустой выбор высоко ценится!
Ух - серьезно? Это очень неутешительно! Anywho, спасибо за подсказку, я попробую этот подход. – Jay
Позвольте немного пояснить. Контроллер массива * будет * сохранять свой выбор, если выбранные объекты остаются в организованных объектах во время фильтрации, если опция «Сохранять выбор» отмечена для контроллера массива. Документация здесь немного неясна. В документации опция выбора консервов определяет, будет ли контроллер запоминать свой выбор, когда изменяется его * контент. В этом случае мы фильтруем существующий контент, не меняя его; но тем не менее, похоже, что в этом случае также применяется опция выбора консервов. –
Мое разочарование действительно касалось ** 'setAvoidsEmptySelection' ** - состояния документов, которые *« Если ДА, приемник поддерживает выбор, если в массиве содержимого нет объектов ». *. Однако при фильтрации с предикатом выбор может фактически стать пустым, когда в массиве содержимого все еще есть элементы. – Jay