2012-09-06 106 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