Иметь некоторую приоритетную сортировку для составного NSPredicate - PullRequest
0 голосов
/ 28 мая 2018

У меня есть некоторые данные, подобные следующим:

NAME | LAST_NAME | PLACE

Roger - Martins - Miami
Mary - Rogers - Paris
Jack - Smith - Maryland
Alfred - Cooper - Germany

... and many more

И у меня есть такой предикат:

let searchPredicateName = NSPredicate(format: Database.Key.Name + " CONTAINS[cd] %@", _searchString)
let searchPredicateLastName = NSPredicate(format: Database.Key.LastName + " CONTAINS[cd] %@", _searchString)
let searchPredicatePlace = NSPredicate(format: Database.Key.Place + " CONTAINS[cd] %@", _searchString)

let finalPredicate = NSCompoundPredicate(orPredicateWithSubpredicates: [searchPredicateTitle, searchPredicateLastName, searchPredicatePlace])

Когда я ищу, например, «Mar», то результаты я быполучить будет:

Roger - Martins - Miami
Mary - Rogers - Paris
Jack - Smith - Maryland

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

...