Хорошо, ребята, вот мой вопрос.
Я бы использовал CoreData + Source List + NSTreeController для создания чего-то похожего на исходный список Finder (или iTunes, если вы предпочитаете).
Моя проблема в том, что то, что у меня есть в моем списке источников, не полностью получено из CoreData. Например, у меня есть раздел (root), называемый «данные из основных данных», который заполняется с помощью CoreData, но у меня также есть некоторые «поддельные» разделы (то есть раздел «Избранное»), которые создаются во время выполнения.
По этой причине я считаю, что привязка OutlineView и NSTreeController напрямую к CoreData с использованием сущностей невозможна, и что мне нужно использовать что-то промежуточное, например NSMutableArray, который я заполняю в начале данными, поступающими из CoreData, и «поддельными» разделами, используя специальные классы для участников (как в примере «SourceView» от Apple). Это первый вопрос: (1) Прав ли я в этом?
Мой второй вопрос об этом NSMutableArray. Допустим, что использование этого массива может быть решением, мне было интересно, какой правильный способ заполнить массив. В примере «SourceView» промежуточный массив заполняется во время выполнения с помощью NSTreeController (insertObject :), но другое решение Я думал о том, чтобы создать подкласс NSMutableArray и изменить непосредственно содержимое массива. (2) Я нарушаю MVC таким образом?