Ho un oggetto Person
che ha due proprietà NSString
; firstName and lastName
. Attualmente sto usando un NSPredicate
in questo modo:Come unire due stringhe per NSPredicate, ovvero nome e cognome
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(firstName contains[cd] %@) OR (lastName contains[cd] %@)", searchText, searchText];
Così, per esempio, dire che sto cercando il nome "John Smith"
. Nella mia barra di ricerca se digito "Joh"
, verrà visualizzata l'opzione John Smith
. Questo va bene, ma se digito "John Sm"
diventerà vuoto.
Come unire firstName e lastName nel predicate
così se stavo cercando "John Sm"
allora John Smith
sembrerebbe ancora come un'opzione.
Spero che abbia senso. Grazie.
EDIT: Per aggiungere un po 'maggiori chiarimenti, sto usando il metodo SearchDisplayController
delegato:
-(void)filterContentForSearchText:(NSString *)searchText scope:(NSString *)scope;
e sto usando il predicate
in questo modo:
newArray = [personObjectArray filteredArrayUsingPredicate:predicate];
controllo qui per dare informazioni complete https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Predicates/Articles/pSyntax.html – Deepak
Ho letto che ma ho ancora don capisco come si fa – Chicken
È possibile utilizzare meglio il dizionario o array in modo da poterlo implementare facilmente – Deepak