Я создаю приложение iOS, где хочу, чтобы пользователь мог выполнять поиск по UITableView
и отображать результаты на основе различных входных данных. Я использую NSPredicate с несколькими условиями, разделенными «OR», чтобы сделать это, но по какой-то причине он ищет только первое условие и ни одно из других.Проблема с форматированием NSPredicate
Вот как отформатирован мой NSPredicate:
let searchPredicate = NSPredicate(format: "(SELF.firstName CONTAINS[c]
%@) OR (SELF.lastName CONTAINS[c] %@) OR (SELF.major CONTAINS[c] %@) OR
(SELF.year CONTAINS[c] %@) OR (SELF.gpa CONTAINS[c] %@)",
searchController.searchBar.text!)
Мои параметры ПгвЬЫат, LastName, майор, год, и ГПД. Когда я набираю что-либо помимо первого имени в строке поиска, результаты не отображаются. Но написание первого имени действительно возвращает совпадения. Почему это происходит? Является ли мой NSPredicate некорректным?
NSPredicate не поддерживает позиционные параметры. –
@MartinR спасибо. Я не был уверен в этом. – rmaddy