获取地址簿联系人的组?

SVD*_*SVD 6 iphone cocoa-touch ios

我想知道是否有办法让特定联系人所属的群组?

假设我得到了所有联系人的数组:

NSMutableArray *people = [[[(NSArray*) 
      ABAddressBookCopyArrayOfAllPeople(addressBook) autorelease] 
      mutableCopy] autorelease];
Run Code Online (Sandbox Code Playgroud)

然后迭代它们:

for (int personN = 0; personN < [people count]; personN++) {
ABRecordRef person = [people objectAtIndex:personN];
NSString* firstName = (NSString*)ABRecordCopyValue(person, 
                      kABPersonFirstNameProperty);
//and so on...
} 
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得该人的团体名称?在MacOS上有ABPerson类,它具有我所需要的parentGroups方法,但我在iOS上看不到类似的东西.

我想可以改为获取所有组的数组,然后迭代组数组并检索每个组的联系人记录,但我希望有更直接的方法吗?

PS看起来没有办法做到这一点,只能迭代组.对于那些后来发现这个问题的人来说,有一点需要注意:要获得所有联系人,你必须遍历组并获得每个组的成员(ABGroupCopyArrayOfAllMembers),然后遍历所有联系人(ABAddressBookCopyArrayOfAllPeople),因为没有"null"组.另请注意,ABAddressBookCopyArrayOfAllPeople还会为您提供已使用ABGroupCopyArrayOfAllMembers调用获取的联系人,因此请务必检查重复项.

Nik*_*rns 0

查看http://ericasadun.com获取 ARecordHelper

有一种方法可以从 recordID 返回组名称。非常有帮助的包装。