我正在使用一个ABNewPersonViewController
来创建一个人。到目前为止一切正常。我确实设置了多值属性以及单个值。点击“添加”后,可以在地址簿中找到联系人。
但是编辑此联系人时出现问题。将联系人添加到地址簿后,我保存addressbookID
,以便我能够识别联系人是否仍然保存在 AB 中。
因此,如果用户想再次导出联系人,我不会创建新的ABPersonRecordRef
,而是使用我之前保存的 id 标识的现有联系人:
ABRecordID recordId = [aContact.addressBookRecordId intValue];
ABRecordRef personRecord = nil;
if(recordId != 0) {
personRecord = ABAddressBookGetPersonWithRecordID(addressBook, recordId);
if(personRecord) {
return personRecord;
} else {
personRecord = ABPersonCreate();
}
} else {
personRecord = ABPersonCreate();
}
//set properties etc.
现在的问题是,这只是第一次。如果用户在 中再次显示此人ABNewPersonViewController
并点击取消,则该记录将在地址簿中删除。虽然之前保存的很好。
我尝试使用ABUnknownPersonViewController
,但问题是 recordRef 上的属性似乎与ABNewPersonViewController
.
有什么建议么?