NSPredicate: сравнить только часть строки? - PullRequest
0 голосов
/ 10 октября 2011

У меня есть массив person_name ### country_name:

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

У меня есть UISearchBar, который ищет имя человека (т.е. не учитывает страну), следующий NSPredicate ищет имя человека, а такжестрана, как мне восстановить его так, чтобы он смотрел только на имя человека?

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

Массив человека ### страна создается каким-то сложным способом, поэтому не предлагайте мне создавать другой массив столько имена людей, также в разных странах могут быть разные люди с одинаковыми именами.

Большое спасибо!

1 Ответ

1 голос
/ 10 октября 2011

Вы бы использовали BEGINSWITH вместо CONTAINS.

Но на самом деле: если эти две части данных разделены, почему вы храните их в одной строке? Вы должны разбить их на части и создать новый класс с двумя свойствами: name и country. Это сделает все это намного проще.

...