0

私はiPhoneを初めて使用します。私は、iphoneデバイスに配置されているすべてのアドレスブックの連絡先(名前と電子メール)を、プロジェクトで作成されたテーブルビューに取得するステップで、プロジェクトに行き詰まっています。どうすればいいですか?

4

3 に答える 3

3
NSMutableArray* contactsArray = [NSMutableArray new];

// open the default address book. 
ABAddressBookRef m_addressbook = ABAddressBookCreate();

if (!m_addressbook) 
{
    NSLog(@"opening address book");
}
CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople(m_addressbook);
CFIndex nPeople = ABAddressBookGetPersonCount(m_addressbook);
for (int i=0;i < nPeople;i++) 
{ 
    NSMutableDictionary* tempContactDic = [NSMutableDictionary new];
    ABRecordRef ref = CFArrayGetValueAtIndex(allPeople,i);
    CFStringRef firstName, lastName;
    firstName = ABRecordCopyValue(ref, kABPersonFirstNameProperty);
    lastName  = ABRecordCopyValue(ref, kABPersonLastNameProperty);
    [tempContactDic setValue:name forKey:@"name"];
    //fetch email id
    NSString *strEmail;
    ABMultiValueRef email = ABRecordCopyValue(ref, kABPersonEmailProperty);
    CFStringRef tempEmailref = ABMultiValueCopyValueAtIndex(email, 0);
    strEmail = (__bridge  NSString *)tempEmailref;

    [tempContactDic setValue:strEmail forKey:@"email"];

     [contactsArray addObject:tempContactDic];

}

すべての連絡先 連絡先配列に保存されたデータ。その後、必要に応じてこの配列を使用できます。

于 2012-05-09T06:58:22.047 に答える
0

これを行うには、addressbookapiを使用します。ここで私の答えを参照してください

連絡先ピッカーを使用しないiPhoneの連絡先リスト

詳細については、こちらからアップルのドキュメントを入手してください。

于 2012-05-09T06:27:09.377 に答える