NSPredicate:只比较字符串的一部分?

时间:2011-10-10 04:19:26

标签: arrays nspredicate

我有一个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 个答案:

答案 0 :(得分:1)

您可以使用BEGINSWITH代替CONTAINS

但实际上:如果这两个数据是分开的,为什么要存储在同一个字符串中?您应该将它们分开并创建一个包含两个属性的新类:namecountry。这将使所有这些更多更简单。