2013-05-02 138 views
0

我有一個字典數組的聯繫人詳細信息。我試圖在ABRecordRef中添加該記錄,但我不明白它是如何工作的。這裏是我的代碼:如何從iPhone中的NSMutableArray中獲取聯繫人的記錄

for (int i = 0; i <= [contactArray count]; i++) 
{ 
    ABRecordRef person = (ABRecordRef)[contactArray objectAtIndex:i]; 
    ABAddressBookAddRecord(addressBook, group, &error); 
    ABAddressBookSave(addressBook, &error); 
} 

我想這個聯繫人記錄添加到使用ABGroupAddMember組。現在我怎樣才能從NSMutableArray獲得記錄。任何幫助將不勝感激。謝謝。

+0

要字典轉換爲ABRecordRefs? (這就是我在這裏得到的:D) – 2013-05-02 06:34:06

+0

@ Daij-Djan是的,在字典中我有firstName,lastName,emailId,一個人的電話號碼,我想添加字典中的所有值以將該聯繫人添加到組中。 – user2336918 2013-05-02 06:41:05

+0

也許這個解決問題有幫助 - [複製NSDictionary到NSArray](http://stackoverflow.com/questions/5788694/copying-nsdictionary-to-nsarray) – Vikr 2013-05-02 06:46:59

回答

0

沒有內置的功能。你將不得不創建一個空的記錄,那麼您可以通過字典中的所有字段,然後添加那些記錄和安全這

這惱人的體力勞動...:d

我一起去Erica的ABContactHelper:https://github.com/erica/ABContactHelper

那就只有

for(NSDictionary *d in recordArray) { 
    ABContact *contact = [ABContact contactWithDictionary:d]; 
    ABGroupAddMember(theGroup, contact.record); 
} 

如果你喜歡手動:

for(NSDictionary *d in recordArray) { 
    ABRecordRef person = ABPersonCreate(); 

    for(NSString *k in d.allKeys) { 
     id v = d[k]; 
     //HERE call ABRecordSetValue with the right params depending on if the value is a NSString or NSArray or an image 
    } 

    ABGroupAddMember(theGroup, contact.record); 
    CFRelease(person); 
} 

免責聲明:直列類型,但應該沒問題

相關問題