/ / NSPredicate: compara apenas parte da string? - arrays, nspredicate

NSPredicate: compara apenas parte da string? - arrays, nspredicate

Eu tenho uma matriz de person_name ### country_name:

Bob###USA
Tim###UK
Sandy###German

Eu tenho um UISearchBar que procura por pessoanome (ou seja, não considera o país), o NSPredicate a seguir pesquisa o nome da pessoa e também o país, como eu reconstroio o nome para que ele procure apenas o nome da pessoa?

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF CONTAINS[cd] %@", __searchTerm];
NSArray *result = [self.source filteredArrayUsingPredicate:predicate];

a matriz de pessoa ### country é criada de alguma forma complexa, portanto, não sugira que eu crie outra matriz com apenas nomes de pessoas; também, países diferentes podem ter pessoas diferentes com o mesmo nome.

Muito obrigado!

Respostas:

1 para resposta № 1

Você usaria BEGINSWITH ao invés de CONTAINS.

Mas realmente: se os dois dados são separados, por que você está armazenando na mesma sequência? Você deve separá-los e criar uma nova classe com duas propriedades: name e country. Isso fará tudo isso Muito de mais simples.