在 CoreData 中保留 ABPerson 的引用
Keep reference of ABPerson in CoreData
我正在努力使 phone 在我的应用程序中的联系人持续保持最新状态。为此,我正在考虑使用核心数据。
我现在的计划似乎非常不理想:
- 浏览地址簿和其中的每个
ABPerson
- 将每个字段存储在 CoreData 持久存储中
- 将图像存储在一个单独的文件中,该文件具有唯一名称并在另一个 "Contact" 字段中引用。
我每次应用程序进入前台时我都会这样做,以防用户更改他的联系人姓名或照片等
我的一些用户有超过 2500 个联系人,有时操作持续长达 10 秒。
我的问题是:
有没有办法在 coredata 中保留对我的 ABPerson
的某种引用,这样我就可以随时加载我的 ABPerson 属性而不是 Contact 属性? (然后将始终是最新的)。
而且我什至不确定这是正确的决定:
我是否应该始终使用通过参考找到的 ABRecord?
我是否应该始终使用自己定期更新的复制数据(来自 ABAddressBook)?
如果不是,你们认为我这样做的方式是否得体,或者您有其他建议吗?
编辑:
如评论中所问:
我需要让联系人保持最新状态,只是为了使用他们的名字、姓氏和图片属性。如果我注意到 ABRecord 发生变化,我将相应地更新相关的自定义对象,仅此而已。之后我真的不需要任何其他东西(直到再次编辑它们)
谢谢
仅获取并存储 ABRecord 的唯一标识符值。这是重复和一致地可靠地指代同一个人的一种持久方式。
您始终可以使用此唯一标识符从联系人数据库中获取所有其他信息。
在iOS中调用ABRecordGetRecordID
获取此人的唯一ID。存储那个。以后想获取对应的人时,调用ABAddressBookGetPersonWithRecordID
.
我正在努力使 phone 在我的应用程序中的联系人持续保持最新状态。为此,我正在考虑使用核心数据。
我现在的计划似乎非常不理想:
- 浏览地址簿和其中的每个
ABPerson
- 将每个字段存储在 CoreData 持久存储中
- 将图像存储在一个单独的文件中,该文件具有唯一名称并在另一个 "Contact" 字段中引用。
我每次应用程序进入前台时我都会这样做,以防用户更改他的联系人姓名或照片等
我的一些用户有超过 2500 个联系人,有时操作持续长达 10 秒。
我的问题是:
有没有办法在 coredata 中保留对我的 ABPerson
的某种引用,这样我就可以随时加载我的 ABPerson 属性而不是 Contact 属性? (然后将始终是最新的)。
而且我什至不确定这是正确的决定: 我是否应该始终使用通过参考找到的 ABRecord? 我是否应该始终使用自己定期更新的复制数据(来自 ABAddressBook)?
如果不是,你们认为我这样做的方式是否得体,或者您有其他建议吗?
编辑:
如评论中所问:
我需要让联系人保持最新状态,只是为了使用他们的名字、姓氏和图片属性。如果我注意到 ABRecord 发生变化,我将相应地更新相关的自定义对象,仅此而已。之后我真的不需要任何其他东西(直到再次编辑它们)
谢谢
仅获取并存储 ABRecord 的唯一标识符值。这是重复和一致地可靠地指代同一个人的一种持久方式。
您始终可以使用此唯一标识符从联系人数据库中获取所有其他信息。
在iOS中调用ABRecordGetRecordID
获取此人的唯一ID。存储那个。以后想获取对应的人时,调用ABAddressBookGetPersonWithRecordID
.