gpt4 book ai didi

ios - 在 CoreData 中保留 ABPerson 的引用

转载 作者:行者123 更新时间:2023-11-29 02:10:50 25 4
gpt4 key购买 nike

我试图以持久的方式使我的应用程序中的手机联系人保持最新状态。为此,我正在考虑使用核心数据。

我现在的计划似乎非常不理想:

  • 浏览地址簿和其中的每个ABPerson
  • 将每个字段存储在 CoreData 持久存储中
  • 将图像存储在一个单独的文件中,并在另一个“联系人”字段中使用唯一的名称和引用。

每次应用程序进入前台时,我都会执行此操作,以防用户更改其联系人的姓名或图片等。

我的一些用户有超过 2500 个联系人,有时操作持续长达 10 秒。

我的问题是:

有没有办法在 coredata 中保留对我的 ABPerson 的某种引用,以便我始终可以在任何地方加载我的 ABPerson 属性而不是联系人属性? (这样就始终是最新的)。

我什至不确定这是正确的决定:我是否应该始终使用通过引用找到的 ABRecord?我是否应该始终使用自己定期更新的复制数据(来自 ABAddressBook)?

如果不是,你们认为我以一种体面的方式做这件事吗?或者你们会建议其他方法吗?

编辑:

正如评论中所问:

我需要使联系人保持最新状态,只是为了使用他们的名字、姓氏和图片属性。如果我注意到 ABRecord 发生变化,我将相应地更新相关的自定义对象,仅此而已。之后我真的不需要任何其他东西(直到再次编辑它们)

谢谢

最佳答案

获取并存储 ABRecord 的唯一标识符值。这是可靠地重复和一致地指代同一个人的一种持久方式。

您始终可以使用此唯一标识符从联系人数据库中获取所有其他信息。

在iOS中,调用ABRecordGetRecordID获取人物的唯一ID。存储那个。以后想获取对应的人时,调用ABAddressBookGetPersonWithRecordID

关于ios - 在 CoreData 中保留 ABPerson 的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29304237/

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