Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 在搜索地址簿时,如何在排除职务的同时搜索联系人姓名?_Iphone_Ios_Abaddressbook - Fatal编程技术网

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);}{