我可以使用ABAddressBookRef创建新的联系人。是否可以使用数据库中的某些值自动更新特定联系人?
由于
答案 0 :(得分:0)
是的,您可以从地址簿更新特定记录。为此,您需要知道该人的recordID并将其传递给以下内容,您将获得现有人的记录。然后设置属性的值。如果要更改任何值,请先删除,然后再设置新值。对于person的recordID,如果你将人的记录存储在同一个应用程序中,那么那时你可以将ID保存在一个数组中。在我的应用程序中,我在tableview中显示了地址簿记录,因此在获取它们时,我将其recordIds存储在一个数组中。您可以参考以下代码:
ABAddressBookRef ab = ABAddressBookCreate();
ABRecordRef newPerson = ABAddressBookGetPersonWithRecordID(ab, id);
if(newPerson != NULL){
if(![firstName.text isEqual:firstname]){
ABRecordRemoveValue(newPerson, kABPersonFirstNameProperty,nil);
ABRecordSetValue(newPerson, kABPersonFirstNameProperty, firstName.text,nil);
}
}
ABAddressBookSave(ab,nil);