如何在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);
}
但是,我需要编辑联系人的firstName和lastName。
如何制作它。
答案 0 :(得分:0)
这段代码没有在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对象(人物对象)并修改它...然后保存地址簿....这将保存你联系人的编辑信息。
如果您有任何其他方法可以帮助解决此问题,请与我们联系