iPhone SDK更新电话簿中的现有联系人

时间:2011-10-07 05:29:27

标签: iphone sdk

我可以使用ABAddressBookRef创建新的联系人。是否可以使用数据库中的某些值自动更新特定联系人?

由于

1 个答案:

答案 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);