如何从iPhone中的NSMutableArray获取联系人记录

时间:2013-05-02 06:26:17

标签: iphone ios objective-c addressbook

我有一系列字典用于联系方式。我试图在ABRecordRef中添加该记录,但我不明白它是如何工作的。这是我的代码:

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

我正在尝试使用ABGroupAddMember将此联系人记录添加到群组中。现在我如何从NSMutableArray获取记录。任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分: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);
}

免责声明:输入内联但应该没问题