gpt4 book ai didi

iphone - 如何在核心数据堆栈中的客户端上使用 ABPeoplePickerNavigationController

转载 作者:行者123 更新时间:2023-11-29 13:40:19 27 4
gpt4 key购买 nike

我有一个核心数据堆栈,其中包含一个名为“客户端”的实体。每个客户端都有一个“addressBookID”属性,它指的是地址簿中个人记录的唯一ID。我目前正在使用 fetchedResultsController 来填充 tableViewController 以显示这些客户端。但是,viewController 非常基础。

理想情况下,我想使用 ABPeoplePickerNavigationController UI,以便我的客户端被 Last Initial 的部分分隔开,并且右侧还有拖动条,可以快速轻弹到字母表中的所需点。添加的搜索功能也很有用。

是否可以使用 ABPeoplePickerNavigationController 但用您自己的数据填充它(例如通过使用委托(delegate))?

或者,这些功能是否可以轻松添加到 fetchedResultsController 样式表中?我遇到的唯一其他问题是能够从 Core Data 堆栈中获取结果,但按存储在 ABAddressBook 中的名称对它们进行排序。我不确定 sortDescriptor 是否可以通过引用存储在堆栈外的字段进行排序。

感谢任何建议/意见?

最佳答案

您需要创建一个 ABAddressBookRef 并用您希望在导航 Controller 中显示的联系人填充它。然后创建 ABPeoplePickerNavigationController 并将您的 ABAddressBookRef 分配给 addressBook 属性。

ABPeoplePickerNavigationController documentation

Optional. The address book from which to obtain the list of contacts.

@property(nonatomic, readwrite) ABAddressBookRef addressBook

要创建 ABAddressBookRef,请从 ABAddressBookCreate() 和 ABAddressBookAddRecord() 开始。这些功能记录在 Apple's ABAddressBook Reference for iOS 中.

如果您希望不保存对 ABAddressBookRef 的更改(换句话说,您希望为其设置临时联系人),只需不要调用 ABAddressBookSave()。文档说明

Changes made to the returned address book are reflected in the Address Book database only after saving the address book with ABAddressBookSave.

关于iphone - 如何在核心数据堆栈中的客户端上使用 ABPeoplePickerNavigationController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9376007/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com