IOS从ABPerson检索属性

时间:2012-09-06 10:01:55

标签: objective-c ios addressbook abperson

我应该检索/提取ABPerson的所有可用属性。 IOS ABPerson的官方文档 不包括MACOS可用方法[ABPerson属性]

我该怎么办?

2 个答案:

答案 0 :(得分:1)

您可以使用个人信息属性标题下ABPerson reference中的所有属性创建一个NSArray / NSSet。

然后就像使用for-in一样通过NSArray。

NSArray *allPropertiesForABPerson = [NSArray arrayWithObjects: @"kABPersonFirstNameProperty", @"kABPersonLastNameProperty", /*rest of props here*/, nil];

for (id property in allPropertiesForABPerson) {
  id valueForProperty = ABRecordCopyValue(theRecord, property);
  NSLog(@"Value: %@ for property: %@", valueForProperty, property);
  CFRelease(valueForProperty);
}

答案 1 :(得分:1)

假设您有一个名为ABPerson的{​​{1}}。您可以通过以下方式访问其名字:

myFriend

当然,您可以将NSString* firstName = (__bridge_transfer NSString*)ABRecordCopyValue(myFriend, kABPersonFirstNameProperty); 替换为其他属性常量以获取其他属性。

以下是其中一些:

kABPersonFirstNameProperty

关于ABPerson的更多信息: https://developer.apple.com/library/ios/documentation/AddressBook/Reference/ABPersonRef_iPhoneOS/#//apple_ref/doc/constant_group/Personal_Information_Properties