@interface Contact : NSObject
@property (assign, nonatomic) NSInteger *cid;
@property (strong, nonatomic) NSString * name;
@property (strong, nonatomic) NSMutableArray *arrPhone;
@end
我为上面的字典创建了“Contact”NSObject,它有arrPhone数组。
现在我有一个包含联系对象列表的数组。现在我需要那些电话号码包含以@“11”(我的搜索字符串)
开头的号码的联系对象我尝试了以下内容:
NSPredicate *p1 =[NSPredicate predicateWithFormat:@"arrPhone contains[cd] %@)",searchText];
但它不起作用。请帮忙。
答案 0 :(得分:1)
由于arrPhone
本身就是一个数组,因此您需要测试其成员是否符合您的搜索条件,而不是它是否符合您的搜索条件。因此,修改谓词以使用ANY
:
NSPredicate *p1 =[NSPredicate predicateWithFormat:@"ANY arrPhone contains[cd] %@)",searchText];
答案 1 :(得分:0)
试试这个
[collection[@"phone"] filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"SELF beginswith[c] '11'"]];