如何从ABAddressBook编辑联系人的名字和姓氏。
我使用此代码查找了一些带有姓名的联系人。
+(CFArrayRef)searchContactOnDevice_fromFullName:(NSString *)FullName{
NSString *searchName = [NSString stringWithFormat:@"%@", FullName];
ABAddressBookRef addressbook = ABAddressBookCreate();
CFStringRef nameRef = (__bridge CFStringRef) searchName;
CFArrayRef allSearchRecords = ABAddressBookCopyPeopleWithName(addressbook, nameRef);
return allSearchRecords;
}
如果我想删除一些联系人,我可以使用以下代码:
+(void)removeContactWithRecordsList:(CFArrayRef) selectedRecords_
{
ABAddressBookRef addressbook = ABAddressBookCreate();
if (selectedRecords_ != NULL)
{
int count = CFArrayGetCount(selectedRecords_);
for (int i = 0; i < count; ++i)
{
ABRecordRef contact = CFArrayGetValueAtIndex(selectedRecords_, i);
ABAddressBookRemoveRecord(addressbook, contact, nil);
}
}
ABAddressBookSave(addressbook, nil);
CFRelease(addressbook);
}
但是,我需要编辑联系人的名字和姓氏。
我怎么能做到。
此代码未在 Xcode 上测试。这是一个整体的想法,应该对我有用,因为我很久以前就这样做了......试试这个...
//Code to edit contact programmatically...
ABAddressBookRef addressbook = ABAddressBookCreate();
if (selectedRecordsCount_ != NULL)
{
ABRecordRef contact = CFArrayGetValueAtIndex(selectedRecordsCount_, index);
contact.firstName = @"My new first name";
contact.lastName= @"My New last name":
ABAddressBookSave(addressbook, nil);
}
CFRelease(addressbook);
这里的整个想法是获取一个 ABRecordRef 对象(人对象)并修改相同的......然后保存地址簿....这将保存您联系人的编辑信息。
如果您有任何其他帮助,请告诉我