Я ищу способ использовать NSPredicate
установить a LIKE
условие выбрать объекты. В дополнение к этому, OR
было бы полезно также. Я пытаюсь сделать что-то, где, если пользователь ищет "James", я могу записать 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];