ios - 如何从地址簿中删除多个联系人

标签 ios objective-c iphone

我的代码是这样的,我将数组传递给 CFArrayRef 然后删除联系人,但代码不起作用:

 CFArrayRef arrayRef = (__bridge CFArrayRef)multipleSeleted;
 ABAddressBookRef addressbook = ABAddressBookCreate();
 if (arrayRef != NULL)     {
      int count = CFArrayGetCount(arrayRef);
      for (int i = 0; i < count; ++i){
           ABRecordRef contact = CFArrayGetValueAtIndex(arrayRef, i);
           ABAddressBookRemoveRecord(addressbook, contact, nil);
      }
 }

最佳答案

你可以这样做

方法我给你写好了,传入要删除的联系人数组就可以了

我的代码:

-(void)removeSlectedContactList:(CFArrayRef)arrContacts {
    ABAddressBookRef addressbook = ABAddressBookCreate();
    if (arrContacts)
    {
        int count = CFArrayGetCount(arrContacts);
        for (int i = 0; i < count; ++i)
        {
            ABRecordRef contact = CFArrayGetValueAtIndex(arrContacts, i);
            ABAddressBookRemoveRecord(addressbook, contact, nil);
        }
    }
    ABAddressBookSave(addressbook, nil);
    CFRelease(addressbook);
}

如果你有人名然后遍历你的数组以获取重复的用户列表然后删除

这是示例代码:

NSString *searchName = @"NameOfUser";
ABAddressBookRef addressBook = ABAddressBookCreate();
CFStringRef nameRef = (__bridge CFStringRef) searchName;
CFArrayRef  arrSearchUsers = ABAddressBookCopyPeopleWithName(addressbook, nameRef);
[self removeSlectedContactList:arrSearchUsers];

关于ios - 如何从地址簿中删除多个联系人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39722882/

相关文章:

使用 Thumbor 第三方调整图像大小时,ios SdWebImage 图像不会显示

iphone - ABAddressBookCopyArrayOfAllPeopleInSourceWithSortOrdering 的代码示例?

iOS 图表 moveViewToX 似乎不起作用

objective-c - - [NSTextField 数据使用编码 :allowLossyConversion:] unrecognised selector sent to instance

iphone - CGRectContainsRect 不工作

iphone - 在 iOS 上创建不同宽度单元格的滚动网格

iphone - 只有图像作为 UITabBarItem

javascript - WKWebView 正文 onclick 被忽略

ios - NSURLConnection 将 SendRequestForAuthenticationChallenge 持久化

ios - 如何在swift中重载赋值运算符