2

您如何使用 Objective-C 在 Mountain Lion 中搜索联系人(又名地址簿),以找到kABShowAsCompany与当前人员记录具有相同公司名称的所有公司记录(即)?例如,如果我有公司“Acme Corp”的人员记录,我想查找名称为“Acme Corp”的所有公司记录。

我需要返回一个NSArray带有标志kABShowAsCompanykABOrganizationProperty等于kABOrganizationProperty当前记录的记录。

谢谢你的帮助。

4

1 回答 1

1
NSString* acmeCorpCompanyName = @"Acme Corp" ;

ABAddressBook* addressBook = [ABAddressBook sharedAddressBook] ;
ABSearchElement* isACompany = [ABPerson searchElementForProperty:kABPersonFlags  label:nil  key:nil  value:@(kABShowAsCompany)  comparison:kABEqual ] ;
ABSearchElement* nameIsAcmeCorp = [ABPerson searchElementForProperty:kABOrganizationProperty  label:nil  key:nil  value:acmeCorpCompanyName  comparison:kABEqualCaseInsensitive ] ;
ABSearchElement* isACompanyNamedAcmeCorp = [ABSearchElement searchElementForConjunction:kABSearchAnd  children:@[isACompany, nameIsAcmeCorp] ] ;
NSArray* foundCompanies = [addressBook recordsMatchingSearchElement:isACompanyNamedAcmeCorp] ;
于 2013-01-15T15:11:39.467 回答