Мой NSTreeController устанавливает родительские атрибуты Core Data, но не дочерние атрибуты.
У меня есть модель Core Data, подобная этой
Item
title (string)
isLeaf (boolean,readonly)
parent -> Group (inverse children)
Group (parent entity Item)
children -> Item (inverse parent)
Leaf (parent entity Item)
Затем я отображаю его с помощью NSOutlineView и использую NSTreeController. Я использую метод - [NSTreeController insertObject: atArrangedObjectIndexPath:], чтобы попытаться вставить Leaf, родительское свойство листьев установлено правильно, но родительское свойство Group.children остается равным nil.
Когда я запускаю проект, на консоли появляется следующее предупреждение
Warning: <NSTreeController: 0x7fcd93c19d20>[object class: NSMutableDictionary] childrenKeyPath cannot be nil. To eliminate this log message, set the childrenKeyPath attribute in Interface Builder
, хотя childrenKeyPath установлен в конструкторе интерфейса и почему он использует NSMutableDictionary, когда у меня есть подклассы NSManagedObject SavedItem, SavedGroup и SavedLeaf. Я скачал пару примеров, но я не вижу, что они делают, а я нет.