регистр NSP без учета регистра с одним результатом в CoreData - PullRequest
42 голосов
/ 25 сентября 2011

Вот мой текущий NSP предикат:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"UPC==%@ OR ItemID==%@", aUPCCode,aUPCCode];

Как я могу сделать этот регистр нечувствительным?

И я не хочу делать частичное совпадение.

Пример, если они вводят 123 для aUPCCode, я не хочу получать 123, 123a, 123b, 123c и т. Д. Я бы хотел только точное совпадение.

Я думал об этом, но это кажется немного смешным:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"UPC==%@ OR ItemID==%@ OR UPC==%@ OR ItemID==%@ OR UPC==%@ OR ItemID==%@", aUPCCode,aUPCCode,[ aUPCCode lowercaseString] ,[aUPCCode lowercaseString], [aUPCCode uppercaseString],[aUPCCode uppercaseString]];

Ответы [ 3 ]

82 голосов
/ 25 сентября 2011

Как сказал Дэйв Делонг, вы можете использовать:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"UPC ==[c] %@ OR ItemID ==[c] %@", aUPCCode,aUPCCode];

Редактировать :

Использовать ==[c] вместо ==[cd], или вы тоже получите ударения (abcd == àbcd).

2 голосов
/ 24 сентября 2017

Как сказал Синетрис, все вышеперечисленное работает в Objective-C.

Это работает без учета регистра.Выбирает все результаты, в которых есть строковое значение "example".

Обновление Swift 4.0

let predicateIsNumber = NSPredicate(format: "keywordContactNo contains[c] %@", example!) 

Надеюсь, это поможет

Спасибо

0 голосов
/ 25 сентября 2011

возможно это:

[NSPredicate predicateWithFormat:@"UPC MATCHES[cd] %@ OR ItemID MATCHES[cd] %@",aUPCCode,aUPCCode];
...