iphone - 添加到现有联系人

标签 iphone ios addressbook

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

我的第一次尝试是呈现一个 ABPeoplePickerNavigationController,当用户选择一个人时,呈现一个包含所选人的 ABNewPersonViewController。这种方法的问题在于,如果用户点击取消按钮,联系人就会从地址簿中删除。

最佳答案

您应该实现 peoplePickerNavigationControllerDidCancel: 委托(delegate)方法(因为它是必需的),如果需要,您可以将人员救回来。

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

编辑如何复制地址簿的人员数组:

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

另一个编辑:ABAddressBook 文档是开发者指南的一个很好的起点 here

关于iphone - 添加到现有联系人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6111215/

相关文章:

ios - 如果屏幕以纵向模式锁定,如何检测方向?

ios - 应用收到低内存警告但只有 5.7MB 的事件字节

ios - Swift ViewController 背景变黑与 alpha

iphone - 在 ABPeoplePickerNavigationController 上取消选择RowAtIndexPath

objective-c - 在iPhone的 objective-c 中导入VCard

iphone - 播放保存在应用程序文档目录中的视频文件

iphone - 如何以编程方式创建 UIViewController?

ios - 是否可以通过 Testflight 分发企业应用程序而无需接收者创建帐户?

ios - Web View 上的加载指示器

iphone - 为什么通讯录无法与ios保持最新?