J'ai écrit du code comme ci-dessous pour supprimer tous les contacts du carnet d'adresses. Mais cela fonctionne très lentement pour plus de 1000 contacts. existe-t-il un autre moyen de supprimer tous les contacts du carnet d'adresses. J'ai besoin de cela pour restaurer la sauvegarde dans mon application.Comment supprimer efficacement tous les contacts de AddressBook en utilisant le framework AddressBook?
-(void)removeAllData
{
ABAddressBook *book = [ABAddressBook sharedAddressBook];
int count = [[book people] count];
for(int i=count;i>=0;i--)
{
if(i<[[book people] count])
{
[book removeRecord:[[book people] objectAtIndex:i]];
}
}
[book save];
}
Salut Peter, Votre logique ont supprimé 1000 contacts en seulement 5 secondes. C'est bien. Merci pour votre réponse. Par le code que j'ai posté prend autant de temps pour supprimer les contacts. J'ai besoin de cela pour restaurer la sauvegarde du serveur. Merci encore. –