В моем приложении у меня есть NSOutlineView
, который получает свои данные из NSTreeController
, который, в свою очередь, получает его от модели Core Data.NSOutlineView - объединение нескольких источников
Теперь я хотел бы добавить заголовки групп и, возможно, некоторые дополнительные строки в представление схемы - очевидно, вещи, которые должны существовать вне модели и быть частью представления. Но, насколько я поцарапал себе голову над этим, я не могу придумать, как можно сделать отображение схемы, без изменения базовой модели, которая, очевидно, большая, нет-нет.
Ваша помощь очень ценится. Я чувствую, что мне не хватает чего-то очевидного здесь ...
Не могу поверить, что раньше не рассматривал этот подход. Одна коррекция: '-arrangedObjects' не возвращает объект класса NSTreeNode', а объект, который обрабатывает сообщения' -childNodes' и '-descendantNodeAtIndexPath:'. Кроме того, может оказаться лучше переопределить '-rearrangeObjects' и выполнить свою работу там. –
Спасибо, это похоже на шаг в правильном направлении. Но NSTreeController ужасно непрозрачен и, как писал Майк, возвращает только объекты bizarro _NSTreeProxy, которые не получены из NSTreeNode. И это означает, что я не могу использовать mutableChildNodes, поэтому я все еще исследую это. –
Хорошо. Затем просто используйте метод '-childNodes' для получения узлов, создайте отдельный« NSTreeNode »и верните его! (Я отрегулирую ответ за секунду). –