sentencia not example ejemplos iphone cocoa cocoa-touch core-data nspredicate

iphone - not - NSPredicate que es el equivalente de LIKE de SQL



sentencia like en db2 (3)

Estoy buscando una forma de usar NSPredicate para establecer una condición LIKE para buscar objetos. Además de eso, un OR sería útil. NSPredicate hacer algo donde si un usuario busca "James" puedo escribir un NSPredicate que hará el equivalente de:

select * from users where firstname LIKE ''%James%'' OR lastname LIKE ''%James%'';


El operador CONTAINS ciertamente funcionará bien. Si busca una correlación más directa, también puede usar el operador LIKE ( * = 0 o más caracteres ? = 1 carácter):

NSString *_mySearchKey = @"James"; NSPredicate *_myPredicate = [NSPredicate predicateWithFormat:@"firstname LIKE ''*%1$@*'' OR lastname LIKE ''*%1$@*''", _mySearchKey];

Para referencia:
https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/Predicates/Articles/pSyntax.html#//apple_ref/doc/uid/TP40001795-215868


Otra posibilidad

@"firstname beginswith[c] James"

Como una buena alternativa para contener

A veces, contener no siempre es la respuesta correcta


NSString *_mySearchKey = @"James"; NSPredicate *_myPredicate = [NSPredicate predicateWithFormat:@"(firstname CONTAINS[cd] %@) OR (lastname CONTAINS[cd] %@)", _mySearchKey, _mySearchKey];