В моей сущности Contact у меня есть два столбца с именем firstName & lastName. Я хочу найти имя, введенное пользователем в моей БД.Как объединить два значения столбца и сравнить их в ios
Например: если пользователь вводит только «Уильям», я могу выполнить поиск либо его имени по имени, либо фамилии и показать результат. Если пользователь вводит «William Smith», я хочу получить имя и фамилию от БД и сравнить его с текстом поиска.
Для этого я хочу использовать NSPredicate, сравнивающий 3 Состояние:
firstName contains the search text OR
lastName contains the search text OR
firstName+lastName contains the search text.
Я использовал следующий предикат для этого:
NSString *strSearchType = @"(%@ CONTAINS[cd] '%@' OR %@ CONTAINS[cd] '%@' OR (%@ || %@ CONTAINS[cd] '%@')";
Я знаю, что "||" является конкатенатным оператором.
Но это дает мне следующее исключение:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unable to parse the format string "(firstName CONTAINS[cd] 'rus' OR lastName CONTAINS[cd] 'rus' OR ((firstName || lastName) CONTAINS[cd] 'rus'))"'
я делаю что-то неправильно?
если первое имя «XYZ» и фамилию идентификатор «а», то вы хотите, чтобы показать эту запись для строки поиска «Заб» (имени + lastneme) также. Правильно ли это? –
Нет. Значит, если iuser входит в «xyz abc», то я хочу показать результат – JamesDon