Используете ли вы NSTreeController
с NSOutlineView
или NSArrayController
с NSTableView
? Использование NSTreeController
с NSTableView
не имеет большого смысла для меня?
Если вы используете NSTableView
, вам, вероятно, следует использовать NSArrayController
для управления его данными, и эта перестановка строк является особенностью NSArrayController
. Попробуйте отключить опцию Автоперестановка содержимого на вашем контроллере в IB.
Когда он включен, контроллер массива будет переупорядочивать свои объекты при добавлении, удалении и изменениях в объектах, которые могут повлиять на порядок сортировки (если таковые имеются) и привести к тому, что любые табличные представления или контурные представления перезагрузят свои данные.
Я не знаю подобной функции для NSTreeController
, главным образом, потому что я не использую ее, потому что она никогда не работала хорошо для меня. К сожалению, я рекомендую просто использовать методы источника данных для NSOutlineView
и предоставить ваши данные старомодным способом. По моему опыту, NSTreeController
подходит только для самых тривиальных задач.