Как заставить NSArrayController preservSelection работать для пользовательского объекта?
У меня есть приложение Какао с представлением таблицы на основе представления, привязанного к NSArrayController
со списком пользовательских Employee
объекты.
В табличном представлении показан список сотрудников. В подвиде детали сотрудника могут быть изменены.
Все настроено так, что при изменении данных сотрудника содержимое табличного представления перезагружается, показывая изменения. Все идет нормально.
Сейчас NSArrayController
имеет возможность сохранить выбранный объект при перезагрузке через preservesSelection
,
Для моих пользовательских объектов Employee это не работает. Я предполагаю, потому что контроллер массива не может понять, как сопоставить старый выбранный объект сотрудника из старого контента с новым контентом после обновления списка.
Я переиграл isEqual:
по моему обычаю Employee
класс, но это никогда не называется.
Документы просто говорят о NSArrayController.preservesSelection
:
Логическое значение, указывающее, будет ли получатель пытаться сохранить текущий выбор при изменении содержимого.
Так как именно контроллер массива пытается сохранить выделение? Он должен как-то сравнивать старый выбранный объект со списком новых объектов...