2013-08-22 43 views
0

大家好我有一个包含电子邮件的远程用户数据库。现在我有我的应用程序,它必须列出地址簿中的所有联系人电子邮件,并检查用户是否已在数据库中注册。我正在考虑发送所有电子邮件并检查数据库并回复数据并将其显示在可用视图中。但这是正确的做法吗?如果我们需要检查2000或3000个电子邮件地址,我在考虑带宽和加载时间?如何将地址簿中的数据同步到服务器?

回答

0

使用ABPeoplePickerNavigationControllerDelegate使用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; 
} 
相关问题