Отключить сон при определенной активности

Я задал аналогичный вопрос, который был отмечен как дубликат здесь: Рекомендуемый шаблон для наблюдения изменений структуры дерева [duplicate]

Я хотел избежать использования NSTreeController, поскольку это означает, что вы потерять управление анимацией при появлении обновлений.

У меня установлен MVVM. Моя модель представляет собой график, моя модель представления - это дерево. Между любыми узлами дерева и узлом графа существует одно отношение. Как подробно описано выше, между узлами дерева и контурным представлением очевидно много отношений.

Итак, я установил ...

Модель просмотра узлы дерева должны знать, когда их дети обновлены, поэтому я использовал KVO связанного узла графа, чтобы поймать, когда дочерние элементы добавлены или удалены.

Для обновления внешнего вида я остановился на делегате модели представления, который Я реализую на контроллере view. Каждый древовидный узел в модели представления может вызвать методы делегирования в корне дерева при добавлении или удалении дочерних элементов. Это чувствовало самый ясный подход ко мне и легко отлаживаемое. Я не хотел, чтобы цепочки происходили за кулисами.

Окончательный вызов обновления на основе внешнего вида чувствовал себя достаточно простым:

func itemsInserted(atIndexes indexes: IndexSet, forParent parent: ECViewModelNode) {
        outlineView?.insertItems(at: indexes, inParent: parent, withAnimation: .slideDown)
    }

На уровне ячеек таблицы я связываю непосредственно к деталям узлов модели графа.

13
задан Amrit Sharma 3 November 2012 в 13:12
поделиться