Подтвердить что ты не робот

Нечувствительные к регистру данные ядра СОДЕРЖАЮТСЯ или НАЧИНАЮТСЯ

У меня есть предикат, который выглядит как

[NSPredicate predicateWithFormat:@"region=%@ && locality CONTAINS %@", self.region, query];

Я хочу, чтобы это совпадало с игнорированием случая. Что за трюк?

4b9b3361

Ответ 1

Оказывается, мне нужно иметь предикат в виде:

[NSPredicate predicateWithFormat:@"region=%@ && locality CONTAINS[cd] %@", self.region, query]

и теперь он нечувствителен к регистру

Ответ 2

Как описано в Руководство по программированию предикатов, сравнение строк в NSPredicate можно сделать нечувствительным к регистру, включив [c] (в квадратные скобки) после оператора сравнения (например, BEGINSWITH[c]). Вы можете сделать сравнение диакритической нечувствительностью, используя модификатор [d] или регистр и диакритический нечувствительный с модификатором [cd]. В вашем примере вы должны использовать:

[NSPredicate predicateWithFormat:@"region=%@ && locality CONTAINS[cd] %@", self.region, query]

для случая и диакритической нечувствительности.