2013-08-22 5 views
0

Bonjour à tous J'ai une base de données distante d'utilisateurs qui contient des emails. Maintenant, j'ai mon application qui doit lister tous les contacts des e-mails du carnet d'adresses et vérifier si l'utilisateur est déjà enregistré sur la base de données. Je pense à envoyer tous les e-mails et vérifier la base de données et la réponse des données et l'afficher dans une uitableview. Mais est-ce la bonne approche? Je pense à la bande passante et au temps de chargement si nous devons vérifier supposons pour 2000 ou 3000 adresses email?Comment synchroniser les données du carnet d'adresses vers le serveur?

Répondre

0

Utilisez ABPeoplePickerNavigationControllerDelegate pour récupérer les e-mails à partir de la liste de contacts à l'aide de kABPersonEmailProperty.

- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker 
     shouldContinueAfterSelectingPerson:(ABRecordRef)person { 

    CFStringRef emailName = nil; 
    ABMultiValueRef emails = ABRecordCopyValue(person, kABPersonEmailProperty); 
    emailName = ABMultiValueCopyValueAtIndex(emails, 0); 

    /* 
     Here make code for DB 
     1) Make email Field of DB unique. 
     2) select query like: 
      select * from tblContact where email = emailName; 

      get count of Record set. 
     3) if record set count == 0 then 
       insert emailName in tblContact using insert Query. 
      else 
       Do nothing 
    */ 
    if(emailName) 
     CFRelease(emailName); 
    if(emails) 
     CFRelease(emails); 

    return NO; 
} 
Questions connexes