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 に答える