2015-02-25 1 views

Répondre

1

Vous pouvez essayer ceci:
Vous devez #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); 
} 

EDIT:
Exemple: Comme mon cas, je veux supprimer tous les contacts ont le nom "Sample"

NSString *searchName = @"Sample"; 
ABAddressBookRef addressbook = ABAddressBookCreate(); 
CFStringRef nameRef = (__bridge CFStringRef) searchName; 
CFArrayRef allSearchRecords = ABAddressBookCopyPeopleWithName(addressbook, nameRef); 
[self removeContactWithRecordsList:allSearchRecords]; 
+1

je suis nouveau à iOS pouvez-vous s'il vous plaît envoyez-moi un exemple de code brièvement. –

+1

@ajaykm voir mon édition –

+2

Si vous avez sélectionné une rangée, j'ai créé une coche et aucune, lorsque la sélection multiple est faite, elle sauvegardera 'OUI' dans le tableau fictif. [celselectedd replaceObjectAtIndex: indexPath.row withObject: @ "OUI"]; Dans l'action de suppression, je vais supprimer la source de données et tableau en utilisant les index de tableau fictif mais le problème lorsque j'ai sélectionné les lignes dans un index –