Я разрабатываю приложение Mac, в котором используются данные Core. Я использую NSOutlineView и NSTreeController для привязки данных к просмотру.Фильтрация детей NSOutlineView с помощью NSTreeController
Можно предположить структуру моих данных в
- Родитель Пункт 1
- ребенка Пункт 1
- Детский Пункт 2
- ребенка Пункт 3
- родительского элемента 2
- Детский Пункт 4
- Детский Пункт 5
Я подаю на fetchPredicate к моему NSTreeController успешно фильтровать данные. С другой стороны, fetchPredicate применяется только к первому уровню данных (к родительским элементам).
Мне нужен метод, который я могу применить fetchPredicate также к дочерним элементам. Например, если мои критерии совпадения с детьми Пункт 1 и ребенка Пункт 4 результат должен быть
- Родитель Пункт 1
- ребенка Пункт 1
- Родитель Пункт 2
- Детский Пункт 4
Любая помощь будет оценена по достоинству.
Так что конкретно возникает у вас на вопрос? С какой проблемой вы сталкиваетесь с проблемой фильтрации дочерних элементов? –
Спасибо, что ответили. Как я уже упоминал в своем вопросе, я применяю filterPredicate к NSTreeController. Например, NSPredicate (format: due_on = <% @ ", endDate!), Но этот фильтр применяется только к родительским элементам, но не к дочерним элементам. Я по-прежнему вижу некоторые дочерние элементы, которые не соответствуют этому критерию Что мне нужно - это применить мой фильтр только ко второму уровню.Снова спасибо – emreoktem
Вы применяете предикат fetch. NSTreeController не поддерживает предикат фильтра. NSTreeController извлекает объекты верхнего уровня и использует дочерние отношения для получения дети.Если вы хотите отфильтровать детей, вам нужно выполнить некоторые программы. – Willeke