問題是,我總是在調用phones
變量的任何方法上運行時崩潰。 在此版本中,我在1
(ABMultiValueCopyValueAtIndex
)處得到一個錯誤。 如果我會對此行發表評論,代碼會在2
(ABMultiValueGetCount
)上崩潰。 它看起來像屬性是空的。如果我NSLog
phones
變量。我得到(null)
。 我測試iPhone模擬器上的代碼,我有一些虛擬聯繫人有一些電話號碼。 另外firstName
和lastName
工作就像一個魅力。如何處理iPhone的地址簿上的多個屬性?
for(id person in people){
NSString *firstName = (NSString *)ABRecordCopyValue(person, kABPersonFirstNameProperty);
NSString *lastName = (NSString *)ABRecordCopyValue(person, kABPersonLastNameProperty);
ABMultiValueRef phones = ABRecordCopyValue(person, kABPersonPhoneProperty);
NSString *phone = (NSString*)ABMultiValueCopyValueAtIndex(phones, 0); /*1*/
/*2/ id ph, phLb;
for (CFIndex i = 0; i < ABMultiValueGetCount(phones); i++) {
phLb = ABMultiValueCopyLabelAtIndex(phones, i);
ph = ABMultiValueCopyValueAtIndex(phones, i);
NSLog(@"%@,%@", phLb, ph);
CFRelease(phLb);
CFRelease(ph);
}
*/
NSLog(@"%@", firstName);
NSLog(@"%@", lastName);
NSLog(@"%@", phones);
NSLog(@"%@", phone);
[firstName release];
[lastName release];
[phone release];
[phones release];
}
那麼你的問題如何處理null? – slf 2010-07-06 14:10:16
我的問題是,如何從地址簿中獲取數字。數字在那裏,但我不知何故得到空。 – Alistra 2010-07-06 21:30:49