Ответ 1
Оказывается, мне нужно иметь предикат в виде:
[NSPredicate predicateWithFormat:@"region=%@ && locality CONTAINS[cd] %@", self.region, query]
и теперь он нечувствителен к регистру
У меня есть предикат, который выглядит как
[NSPredicate predicateWithFormat:@"region=%@ && locality CONTAINS %@", self.region, query];
Я хочу, чтобы это совпадало с игнорированием случая. Что за трюк?
Оказывается, мне нужно иметь предикат в виде:
[NSPredicate predicateWithFormat:@"region=%@ && locality CONTAINS[cd] %@", self.region, query]
и теперь он нечувствителен к регистру
Как описано в Руководство по программированию предикатов, сравнение строк в NSPredicate
можно сделать нечувствительным к регистру, включив [c]
(в квадратные скобки) после оператора сравнения (например, BEGINSWITH[c]
). Вы можете сделать сравнение диакритической нечувствительностью, используя модификатор [d]
или регистр и диакритический нечувствительный с модификатором [cd]
. В вашем примере вы должны использовать:
[NSPredicate predicateWithFormat:@"region=%@ && locality CONTAINS[cd] %@", self.region, query]
для случая и диакритической нечувствительности.