[英]Filtering with NSPredicate, for array count of Array inside dictionary inside array
[英]Apply NSPredicate to Array which is inside an a dictionary IOS
@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];
但它不起作用。 请帮忙。
由于arrPhone
本身就是一个数组,因此您需要测试其成员是否符合您的搜索条件,而不是它是否符合您的搜索条件。 因此修改谓词以使用ANY
:
NSPredicate *p1 =[NSPredicate predicateWithFormat:@"ANY arrPhone contains[cd] %@)",searchText];
尝试这个
[collection[@"phone"] filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"SELF beginswith[c] '11'"]];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.