【问题标题】:ABAddressBook changes listenerABAddressBook 更改侦听器
【发布时间】:2014-11-03 13:21:13
【问题描述】:

有没有办法在更改通讯录时得到通知? 即当用户正在编辑联系人电话号码时。

我问这个的原因是因为我的应用程序有一个自己的联系人表,来自我从地址簿中提取的用户。我想知道何时更新他们的数据,而不是每次应用唤醒时都这样做。

【问题讨论】:

    标签: objective-c abaddressbook


    【解决方案1】:

    我不知道有什么方法可以做您所做的事情,但是当您对照本地副本(例如核心数据)检查您的通讯簿时,我可以给您一个重要提示:

    有一个唯一的 ID (ABRecordID) 分配给任何更改的联系人。不要依赖那个。来自 Apple 文档:

    使用记录标识符

    通讯簿数据库中的每条记录都有唯一的记录 标识符。此标识符始终引用相同的记录,除非 该记录被删除或数据被重置。记录标识符可以是 在线程之间安全地传递。他们不能保证保持 跨设备相同。

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

    https://developer.apple.com/library/ios/documentation/ContactData/Conceptual/AddressBookProgrammingGuideforiPhone/Chapters/DirectInteraction.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-23
      • 1970-01-01
      • 1970-01-01
      • 2020-01-07
      • 2011-04-26
      • 2015-02-07
      相关资源
      最近更新 更多