如何以编程方式删除iOS中的多个通讯簿联系人?

如何以编程方式删除iOS中的多个通讯簿联系人?,ios,iphone,contacts,addressbook,Ios,Iphone,Contacts,Addressbook,您好,我需要在tableview中显示所有通讯簿联系人。如果用户希望选择多个联系人,请删除这些选定的联系人。为此,我没有找到任何解决方案,请帮助我。您可以尝试以下操作: 您需要#导入: 我是iOS新手,请您简单地给我发送任何示例代码。在did select行中,我创建了复选标记和none,当完成多项选择时,它将在虚拟数组中保存“是”。[celselectedd replaceObjectAtIndex:indexath.row with object:@“YES”];在delete操作中,我将使

您好,我需要在tableview中显示所有通讯簿联系人。如果用户希望选择多个联系人,请删除这些选定的联系人。为此,我没有找到任何解决方案,请帮助我。

您可以尝试以下操作:
您需要
#导入


我是iOS新手,请您简单地给我发送任何示例代码。在did select行中,我创建了复选标记和none,当完成多项选择时,它将在虚拟数组中保存“是”。[celselectedd replaceObjectAtIndex:indexath.row with object:@“YES”];在delete操作中,我将使用虚拟数组索引删除中的数据源和数组,但当我选择indexso中的行时出现了问题。。您可以获取您选择的所有联系人记录吗?正确的?您只需使用[self-removeContactWithRecordsList:yourSaveRecords]删除这些记录即可;在did select行中,我创建了复选标记和无,当完成多个选择时,它将在虚拟数组中保存“是”。[celselectedd replaceObjectAtIndex:indexath.row with object:@“YES”];在删除操作中,我将使用虚拟数组索引删除中的数据源和数组,但当我选择索引中的行(如2,5,8(备用)时,它将正确删除。当我选择2,3或5,6时,它只删除一个,我找不到你,抱歉
-(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);
}
NSString *searchName = @"Sample";
ABAddressBookRef addressbook = ABAddressBookCreate();
CFStringRef nameRef = (__bridge CFStringRef) searchName;
CFArrayRef  allSearchRecords = ABAddressBookCopyPeopleWithName(addressbook, nameRef);
[self removeContactWithRecordsList:allSearchRecords];