Iphone 在搜索地址簿时,如何在排除职务的同时搜索联系人姓名?
当我在Iphone 在搜索地址簿时,如何在排除职务的同时搜索联系人姓名?,iphone,ios,abaddressbook,Iphone,Ios,Abaddressbook,当我在ABAddressBook中搜索联系人姓名时,它会返回包含职务的匹配项 例如,假设我有一个叫约翰·史密斯的联系人,他是一名技术分析师 如果我在ABAddressBook条目中搜索包含[cd]Te的名称,我希望避免看到John的姓名,因为Te不是“John Smith”的子字符串 如何在排除职务的同时在ABAddressBook中搜索姓名?筛选记录数组的谓词应如下所示: NSPredicate *predicate = [NSPredicate predicateWithFormat:
ABAddressBook
中搜索联系人姓名时,它会返回包含职务的匹配项
例如,假设我有一个叫约翰·史密斯的联系人,他是一名技术分析师
如果我在ABAddressBook
条目中搜索包含[cd]
Te
的名称,我希望避免看到John的姓名,因为Te不是“John Smith”的子字符串
如何在排除职务的同时在
ABAddressBook
中搜索姓名?筛选记录数组的谓词应如下所示:
NSPredicate *predicate = [NSPredicate predicateWithFormat:
@"record.name contains[cd] %@", string];
确保record.name
仅包含由
const ABPropertyID kABPersonFirstNameProperty;
const ABPropertyID kABPersonLastNameProperty;
const ABPropertyID kABPersonMiddleNameProperty;
而不是
const ABPropertyID kABPersonJobTitleProperty;
我知道已经有一段时间了,但如何从ABAddressBookCopyArrayFallPeople数组获取记录?我能得到的只是uu nscftypes,比如
ABRecordRef=CFArrayGetValueAtIndex(allPeople,I)代码>谢谢。你介意发布一个片段吗?我试过这样做:NSMutableArray*记录=(u桥NSMutableArray*)ABAddressBookCopyArrayFallPeople(addressBook);NSPredicate*myPredicate=[NSPredicate predicateWithFormat:@“record.phoneNumber包含%@”,@“123”];请尝试{[records FilterSingPredicate:myPredicate];}catch(NSException*exception){NSLog(@“%@”,exception);}{