2012-09-06 63 views
2

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

我该怎么办?

+1

尝试在ABPerson搜索这里 - 这个话题上来的时间和代码做一个庞大的数字正是在此网站已经。 –

回答

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

假设你有一个名为ABPersonmyFriend。您可以通过访问它的名字:

NSString* firstName = (__bridge_transfer NSString*)ABRecordCopyValue(myFriend, kABPersonFirstNameProperty); 

当然,你也可以与其他财产常数代替kABPersonFirstNameProperty得到其他属性。

下面是其中一些:

kABPersonFirstNameProperty 
kABPersonLastNameProperty 
kABPersonMiddleNameProperty 
kABPersonPrefixProperty 
kABPersonSuffixProperty 
kABPersonNicknameProperty 
kABPersonFirstNamePhoneticProperty 
ckABPersonLastNamePhoneticProperty 
kABPersonMiddleNamePhoneticProperty 
kABPersonOrganizationProperty 
kABPersonJobTitleProperty 
kABPersonDepartmentProperty 
kABPersonEmailProperty 
kABPersonBirthdayProperty 
kABPersonNoteProperty 
kABPersonCreationDateProperty 
kABPersonModificationDateProperty 

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