NSPredicate过滤NSMutableArray中的联系号码

时间:2014-06-13 07:25:19

标签: objective-c ios7 nsmutablearray nspredicate

    //  Person.h

    @interface Person : NSObject
    @property (nonatomic, strong) NSString *firstName;
    @property (nonatomic, strong) NSMutableArray *phoneNumbers;
    @property (nonatomic, strong) UIImage *personImage;
    @property (nonatomic, strong) NSNumber* recordID;


    - (id)initWithPerson:(Person *)person;

    @end

我从地址簿中获取联系人并将其添加到自定义类Person中。  现在,对于地址簿中的每个联系人,可能有多个号码,所以我使用了 NSMutableArray phoneNumbers ,现在我需要搜索联系人并获取人员的姓名。

我试过这样做:

NSPredicate *predicate =
[NSPredicate predicateWithFormat:@"phoneNumbers like %@",contactNumber];
NSArray *filtered  = [addressBookData filteredArrayUsingPredicate:predicate];

我在过滤后的数组中得到Nil。请建议我如何解决这个问题。

1 个答案:

答案 0 :(得分:1)

而不是like您应该使用contains来比较数组的内容而不是数组本身。