2011-08-03 10 views

答えて

2

あなたはarContactDataは、上記のコードでは何

ABAddressBookRef addressBook = ABAddressBookCreate(); 
    CFArrayRef people = ABAddressBookCopyArrayOfAllPeople(addressBook); 
    NSString *contactName = lblTitle.text; 
    for(int i = 0;i<ABAddressBookGetPersonCount(addressBook);i++) 
    { 
     ABRecordRef person = CFArrayGetValueAtIndex(people, i); 
     NSString *strEmail = [arContactData valueForKey:@"Email"]; 
     NSMutableArray *arEmailList = [[NSMutableArray alloc] init]; 
     ABMultiValueRef emails = ABRecordCopyValue(person, kABPersonEmailProperty); 
     for(CFIndex idx = 0; idx < ABMultiValueGetCount(emails); idx++) 
     { 
      CFStringRef emailRef = ABMultiValueCopyValueAtIndex(emails, idx); 
      NSString *strLbl = (NSString*)ABAddressBookCopyLocalizedLabel (ABMultiValueCopyLabelAtIndex (emails, idx)); 
      NSDictionary *dicTemp = [[NSDictionary alloc]initWithObjectsAndKeys:strEmail,@"value", strLbl,@"label", nil]; 
      [arEmailList addObject:dicTemp];   
     } 
    } 
+0

...与えられたコードによって、個々の電子メールIDを得るのだろうか?また、私はこの行にキャストエラーが発生します: 'NSString * strLbl =(NSString *)ABAddressBookCopyLocalizedLabel(ABMultiValueCopyLabelAtIndex(emails、idx)); ' – RPM

+0

arContactDataはMutableArrayです。そして私はそれを@私の最後にチェックして、あなたが見つけたときにキャストエラーが見つかりませんでした。 –

0

確か、ABAdressBookクラスを使用:

ABAddressBookRefアドレス帳= ABAddressBookCreate()。 NSArray * allPeople =(NSArray *)ABAddressBookCopyArrayOfAllPeople(addressBook);

allPeople配列にすべての連絡先があります。次に、電子メールをキーで取得します。

関連する問題