У меня есть NSOutlineView
, который связан с NSTreeController
.В Интерфейсном Разработчике я связал каждый столбец NSOutlineView
с контроллером дерева с ключом контроллера "arrangedObjects
" и путем ключа модели в качестве атрибута сущности или метода в моем классе сущности.
Теперь вседругие столбцы сортируются отлично, за исключением одного специального столбца.В специальном столбце есть путь к ключу модели, связанный с методом, который объявлен в моем классе Entity.Этот метод в зависимости от некоторых условий в моем коде вернет либо NSString
, либо NSDictionary
.Когда он возвращает NSDictionary
, метод делегата:
- (void)outlineView:(NSOutlineView *)outlineView willDisplayCell:(id)cell forTableColumn:(NSTableColumn *)tableColumn item:(id)item
анализирует NSDictionary
и возвращает двойное значение для этой ячейки.Также обратите внимание, что ячейка в этом случае является производной от NSCell
и отображает индикатор выполнения.
Короче говоря, мой специальный столбец будет отображать сочетание индикаторов выполнения и строк в зависимости от ситуации.
Я бы хотел реализовать сортировку так, чтобы все индикаторы выполнения оставались вместе, а строки сортировались в алфавитном порядке.