我需要從通訊錄獲取記錄。我使用ABPeoplePickerNavigationController來做到這一點。在獲取記錄的同時,我正在將檢查條件檢查記錄是否存在。 例如要檢查有我使用下面的代碼從通訊簿獲取記錄時應用程序崩潰
NSString *fname;
CFTypeRef fnameProperty = ABRecordCopyValue(person, kABPersonFirstNameProperty);
if (ABRecordCopyValue(person, kABPersonFirstNameProperty)) {
fname = (__bridge NSString*)fnameProperty;
}
else{
fname = @"";
}
的代碼完全適用於kABPersonFirstNameProperty名字。
但是,當我使用下面的代碼段檢查電子郵件財產
ABMultiValueRef emailProperty = ABRecordCopyValue(person, kABPersonEmailProperty);
NSLog(@"%@",emailProperty);
NSString *email;
if (ABRecordCopyValue(person, kABPersonEmailProperty)) {
email = (__bridge NSString*)ABMultiValueCopyValueAtIndex(emailProperty, 0);
}
else {
email = @"";
}
我的應用程序崩潰,如果kABPersonEmailProperty是零(沒有存儲的人沒有email屬性)
有人可以解釋我爲什麼會這樣呢?
謝謝
請張貼顯示 –
@Dpk錯誤的錯誤是 EXC_BAD_ACCESS(代碼= 2,地址=爲0x0) –