【问题标题】:Is ABRecordID a reliable way to identify unique contacts?ABRecordID 是识别唯一联系人的可靠方法吗?
【发布时间】:2013-06-04 15:46:52
【问题描述】:

我的应用会上传联系人,并且将来需要对其进行更新。使用ABRecordID 是一种可靠的身份识别方式,还是新记录可以获取已删除记录的ID?

为了优化上传,我想只上传自上次上传以来修改或创建的记录。我目前正在使用核心数据存储此人的联系人副本。我想缩小我的应用程序的占用空间,加快扫描人员通讯录以查找修改/新联系人的执行时间,并限制需要上传的数量。在分析了一些人的通讯录之后,联系人的数量可以从 30 到 30,000 左右不等。处理 30,000 个联系人是一场噩梦。

【问题讨论】:

    标签: ios cocoa-touch contacts abaddressbook


    【解决方案1】:

    新记录不会获得先前与已删除记录关联的 id。 ABRecordIDs 在这方面是独一无二的。但它们不一定会随着时间的推移保持一致,有几件事可能会导致 id 发生变化。用户打开或关闭 iCloud 可能会导致 id 发生变化,从 iTunes 中恢复设备也可能如此。 也就是说,ABRecordID 仍然是为联系人获取唯一 ID 的最佳选择。您只需要在使用它时仔细检查是否排列整齐。 Apple 在地址簿编程指南中建议以下内容:

    推荐的方式来保持对特定的长期参考 记录是存储名字和姓氏,或者是名字和姓氏的哈希值 姓氏,除了标识符。当您通过以下方式查找记录时 ID,将记录的名称与您存储的名称进行比较。如果他们不 匹配,使用存储的名称查找记录,并存储新的ID 记录在案。

    猜你喜欢
    • 2015-08-04
    • 2017-03-10
    • 2021-12-18
    • 1970-01-01
    • 1970-01-01
    • 2012-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多