У меня есть объект coredata, связанный с таблицейView с 5 столбцами. Я использую контроллер массива для управления сортировкой таблицы и т. Д.SWIFT 3 OSX Cocoa Array Controller и привязка CoreData «Поиск по нескольким столбцам»
Моя проблема заключается в поиске с использованием привязок. У меня есть searchField, связанный с ArrayController, и формат предиката устанавливается в первый столбец данных. Все работает нормально. Я также могу изменить формат предиката в XCODE и выполнить поиск в другом столбце.
Проблема, которую я имею зная, как изменить формат предиката в моем коде, чтобы позволить пользователю искать на колонке по своему выбору ...
Я попытался модифицировать ArrayController следующим образом:
let predicate = NSPredicate(format: "projectNumber contains[cd] %@", searchBar.stringValue)
searchArrayController.filterPredicate = predicate
и
let predicate = NSPredicate(format: "customerName contains[cd] %@", searchBar.stringValue)
searchArrayController.filterPredicate = predicate
projectNumber и CUSTOMERNAME являются атрибутами моей сущности.
Когда я устанавливаю предикат таким образом, данные таблицы исчезают. Я могу заставить его показать снова с помощью поиска в поле поиска, но он игнорирует мои настройки предиката и только подчиняется оригиналу, установленному в раскадровке XCODE.
установка раскадровка: Predicate Формат = projectNumber содержит [CD] значение $
спасибо заранее за любую помощь вы можете предоставить ...
Забыл упомянуть, что параметры предиката находятся в инспекторе привязок объекта поиска, где я привязываю его к ArrayController. –