如何以编程方式删除 iOS 中的多个地址簿联系人?
How can i delete multiple address book contacts in iOS programmatically?
您好,我需要在表格视图中显示所有地址簿联系人。如果用户想要 select 多个联系人删除那些 selected contacts.for 我没有找到任何解决方案请帮助我。
你可以试试这个:
你需要 #import <AddressBookUI/AddressBookUI.h>
:
-(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);
}
编辑:
示例:就我而言,我想删除名称为 "Sample"
的所有联系人
NSString *searchName = @"Sample";
ABAddressBookRef addressbook = ABAddressBookCreate();
CFStringRef nameRef = (__bridge CFStringRef) searchName;
CFArrayRef allSearchRecords = ABAddressBookCopyPeopleWithName(addressbook, nameRef);
[self removeContactWithRecordsList:allSearchRecords];
您好,我需要在表格视图中显示所有地址簿联系人。如果用户想要 select 多个联系人删除那些 selected contacts.for 我没有找到任何解决方案请帮助我。
你可以试试这个:
你需要 #import <AddressBookUI/AddressBookUI.h>
:
-(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);
}
编辑:
示例:就我而言,我想删除名称为 "Sample"
NSString *searchName = @"Sample";
ABAddressBookRef addressbook = ABAddressBookCreate();
CFStringRef nameRef = (__bridge CFStringRef) searchName;
CFArrayRef allSearchRecords = ABAddressBookCopyPeopleWithName(addressbook, nameRef);
[self removeContactWithRecordsList:allSearchRecords];