我正在努力让手机的联系人在我的应用程序中保持最新,以一种持久的方式。为此,我正在考虑使用核心数据。
我现在的计划似乎极不理想:
ABPerson每次应用程序出现在前台时,我都会做这个,以防用户更改联系人的姓名或图片等等。
我的一些用户有2500多个联系人,有时操作长达10秒。
我的问题是:
是否有一种方法可以在coredata中保留对我的ABPerson的某种引用,这样我就可以始终在任何地方加载我的ABPerson属性而不是联系人属性。(这样就永远是最新的了)。
我甚至不确定这是正确的决定:我应该总是使用我找到的带有引用的ABRecord吗?我应该总是使用我自己复制的数据,我定期更新(从ABAddressBook)吗?
如果不是的话,你们认为我这样做是很体面的,还是你们会提出别的建议?
编辑:
正如评论中所问的:
我需要保持最新的联系人,只需使用他们的名字,姓氏和图片属性。如果我注意到ABRecord的更改,我将相应地更新相关的自定义对象,仅此而已。之后,我真的不需要其他任何东西了(直到它们再次被编辑)
谢谢
发布于 2015-03-27 16:59:10
只获取和存储ABRecord的唯一标识符值。这是一种持久的方法来可靠地重复和始终如一地引用同一个人。
通过使用此唯一标识符,您始终可以从联系人数据库中获取所有其他信息。
在iOS中,调用ABRecordGetRecordID获取个人的唯一ID。当您以后想要获得相应的人时,请调用ABAddressBookGetPersonWithRecordID。
https://stackoverflow.com/questions/29304237
复制相似问题