添加到现有联系人

时间:2011-05-24 13:32:35

标签: iphone ios addressbook

我正在尝试复制iPhone的默认行为,以便为现有联系人添加电话号码。为了澄清,我说的是UI,而不是以编程方式。

我的第一次尝试是提出ABPeoplePickerNavigationController,当用户选择一个人时,向所选人提出ABNewPersonViewController。此方法的问题在于,如果用户点击取消按钮,则会从地址簿中删除该联系人。

1 个答案:

答案 0 :(得分:3)

您应该实施peoplePickerNavigationControllerDidCancel:委托方法(根据需要),如果需要,您可以将人员保存回来。

处理它的一种(可能更好的)方法是复制地址簿,用副本提供ABPeoplePickerNavigationController,然后当UI完成时,你会知道你是否应该保留原文(如果有人因意外而被删除?)或将其替换为附加信息的副本。希望这可以帮助!另外,请查看Apple的QuickContacts示例代码here

编辑如何复制地址簿的人员阵列:

// Fetch the address book 
ABAddressBookRef addressBook = ABAddressBookCreate();
NSArray *copy = (NSArray *)ABAddressBookCopyArrayOfAllPeople(addressBook)

另一个编辑:在开发人员指南中开始的一个好地方是ABAddressBook docs here