3
我试图复制iPhone的默认行为以将电话号码添加到现有联系人。为了澄清,我正在谈论的用户界面,而不是编程。添加到现有联系人
我的第一次尝试是提出一个ABPeoplePickerNavigationController
,并且当用户选择一个人时,向所选人呈现ABNewPersonViewController
。这种方法的问题是,如果用户点击取消按钮,联系人将从地址簿中删除。
我试图复制iPhone的默认行为以将电话号码添加到现有联系人。为了澄清,我正在谈论的用户界面,而不是编程。添加到现有联系人
我的第一次尝试是提出一个ABPeoplePickerNavigationController
,并且当用户选择一个人时,向所选人呈现ABNewPersonViewController
。这种方法的问题是,如果用户点击取消按钮,联系人将从地址簿中删除。
您应该实施peoplePickerNavigationControllerDidCancel:
委托方法(因为它是必需的),并且您可以在需要时将其保存回去。
一个(可能更好)的方式来处理它,将复制地址簿,提供ABPeoplePickerNavigationController
副本,然后当用户界面完成后,你会知道你是否应该保留原来的(如果有人得到在事故中删除?)或将其替换为附加信息的副本。希望这可以帮助!另外,看看苹果的QuickContacts示例代码here!
编辑为如何复制地址簿的人阵:
// Fetch the address book
ABAddressBookRef addressBook = ABAddressBookCreate();
NSArray *copy = (NSArray *)ABAddressBookCopyArrayOfAllPeople(addressBook)
另一个编辑:一个好的地方在开发者指南,这开始是ABAddressBook文档here
你怎么可以复制地址书? – 2011-05-24 14:20:08
我已经看了这个框架已经有一段时间了,你看过Apple的QuickContacts示例代码吗?我记得它很有用。编辑:我将复制代码添加到我原来的答案。 – 2011-05-24 14:37:11
我在原始答案中添加了相当多的信息,其中包括指向ABAddressBook(地址簿工作的基础对象)的链接以及指向来自Apple的QuickContacts示例代码的链接。 – 2011-05-24 14:45:06