有没有办法在更改地址簿时收到通知? 即当用户正在编辑联系电话号码时。
我问这个的原因是因为我的应用程序有一个自己的联系人表,来自我从地址簿中取出的用户。我想知道何时更新他们的数据,而不是每次应用程序唤醒时都这样做。
答案 0 :(得分:1)
我不知道你做了什么,但是当你根据本地副本(例如核心数据)检查你的地址簿时,我可以给你一个重要的提示:
分配给任何更改的联系人的唯一ID(ABRecordID
)。不要依赖于此。来自Apple doc:
使用记录标识符
通讯簿数据库中的每条记录都有一条唯一的记录 标识符。除非,此标识符始终引用相同的记录 该记录被删除或数据被重置。记录标识符可以是 在线程之间安全传递。他们不能保证保持不变 相同的设备。
保持对特定内容的长期引用的推荐方法 record是存储名字和姓氏,或者是第一个和第一个的哈希值 姓氏,除了标识符。当你查找记录时 ID,将记录的名称与存储的名称进行比较。如果他们不这样做 匹配,使用存储的名称查找记录,并存储新ID 记录。