Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone SDK更新通讯录中的现有conatct_Iphone_Sdk - Fatal编程技术网

iPhone SDK更新通讯录中的现有conatct

iPhone SDK更新通讯录中的现有conatct,iphone,sdk,Iphone,Sdk,我可以使用ABAddressBookRef创建新联系人。是否可以使用数据库中的某些值自动更新特定联系人 谢谢是的,您可以从通讯录中更新特定记录。为此,您需要知道此人的recordID并将其传递给以下人员,您将获得现有此人的记录。然后设置属性的值。如果要更改任何值,请先删除较早的值,然后设置新值。对于person's recordID,如果您将person's record存储在同一个应用程序中,那么此时您可以将ID保存在一个数组中。在我的应用程序中,我在tableview中显示addressbo

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


谢谢

是的,您可以从通讯录中更新特定记录。为此,您需要知道此人的recordID并将其传递给以下人员,您将获得现有此人的记录。然后设置属性的值。如果要更改任何值,请先删除较早的值,然后设置新值。对于person's recordID,如果您将person's record存储在同一个应用程序中,那么此时您可以将ID保存在一个数组中。在我的应用程序中,我在tableview中显示addressbook记录,因此在获取它们时,我将它们的记录ID存储在一个数组中。您可以参考以下代码:

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

通讯簿不会检测到您的数据库已更新。您需要编写代码。你有数据库吗?你有更新通讯录的代码吗?我想问题是另一个方面-如果通讯簿在你的应用程序之外更新(可能),你如何更新你的数据库谢谢你的评论。我有一个sqlite数据库,其中存储了一些用户信息。我只想用数据库信息更新特定联系人。我正在创建新联系人,代码为ABAddressBookRef addressBook=ABAddressBookCreate();。在iPhone SDK中是否有这样的方法来更新特定联系人?