オブジェクトをフェッチするための条件をNSPredicate
設定するために使用する方法を探しています。LIKE
それに加えて、OR
も役に立ちます。私は、ユーザーが「ジェームズ」を検索した場合に、NSPredicate
次と同等のことを行うことができる何かをしようとしています。
select * from users where firstname LIKE '%James%' OR lastname LIKE '%James%';
オブジェクトをフェッチするための条件をNSPredicate
設定するために使用する方法を探しています。LIKE
それに加えて、OR
も役に立ちます。私は、ユーザーが「ジェームズ」を検索した場合に、NSPredicate
次と同等のことを行うことができる何かをしようとしています。
select * from users where firstname LIKE '%James%' OR lastname LIKE '%James%';
NSString *_mySearchKey = @"James";
NSPredicate *_myPredicate = [NSPredicate predicateWithFormat:@"(firstname CONTAINS[cd] %@) OR (lastname CONTAINS[cd] %@)", _mySearchKey, _mySearchKey];
オペレーターはCONTAINS
確かにうまく機能します。より直接的な相関関係を探している場合は、LIKE 演算子 ( *
= 0 以上の文字、?
= 1 文字)も使用できます。
NSString *_mySearchKey = @"James";
NSPredicate *_myPredicate = [NSPredicate predicateWithFormat:@"firstname LIKE '*%1$@*' OR lastname LIKE '*%1$@*'", _mySearchKey];
別の可能性
@"firstname beginswith[c] James"
含むための良い代替手段として
含まれていることが常に正しい答えであるとは限らない場合があります