Я создаю свой собственный привязываемый вид дерева. Для этого я хотел бы наблюдать за NSTreeController для обновлений его отношений «многие ко многим». NSTreeController привязан к контексту управляемого объекта CD. Каждый уровень глубины имеет свою собственную сущность CD со свойствами parent / children / isLeaf. Мне нужно поддерживать ту же иерархию в представлении (и порядок элементов потомков). Если что-то вставлено, я начну наблюдать за его дочерним свойством. И мне нужно знать indexpath для вновь вставленного объекта курса.
Я хотел бы точно знать, что было вставлено / удалено, чтобы я мог начать наблюдать за его добавлением / удалением для его потомков. Как я понимаю, стандартный способ сделать это - посмотреть на «изменить» NSDictionary внутри наблюдаемое: forKey ..., но изменения равны NULL.
Я знаю, что это долгая ошибка, но есть ли ХОРОШИЙ обходной путь для этого? Я видел, что в некоторых примерах представления сохраняют массивы, а затем при изменении модели вы сравниваете различия. Это сложнее для дерева. Также этот способ тратит впустую память и циклы процессора.
У меня есть один обходной путь, который я тестирую. Это просто вид работ, поэтому я пока не буду его описывать.