CoreData で大文字と小文字を区別しない単一の結果を持つ NSPredicate 質問する

CoreData で大文字と小文字を区別しない単一の結果を持つ NSPredicate 質問する

これが私の現在の NSPredicate です:

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

大文字と小文字を区別しないようにするにはどうすればよいですか?

また、部分一致は実行したくありません。

たとえば、aUPCCode に 123 と入力した場合、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]];

ベストアンサー1

この回答は2011年のものです。Swiftを使用している場合はハルジョット・シンの回答

Dave DeLong 氏が言ったように、次のものを使用できます。

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

編集:

==[c]の代わりにを使用する==[cd]と、アクセントも付きます ( abcd == àbcd)。

おすすめ記事