鉴于 ABRecordID 可以在云同步之间以及在我无法控制的其他情况下更改,我如何才能保持对 IOS 通讯录记录的长期引用?
Apple 提供以下指导:
“保持对特定记录的长期引用的推荐方法是存储名字和姓氏,或名字和姓氏的哈希值,以及标识符。当您通过 ID 查找记录时,比较将记录的名称与您的存储名称匹配。如果它们不匹配,请使用存储的名称查找记录,并为记录存储新的 ID。
但我不明白这个指导。如果地址簿中可以有重复的名称,并且由于用户可以修改记录中的名称,那么这个建议如何工作?
例如,如果用户修改了地址簿记录的名称,我的例程将无法通过 ABRecordID 找到它,所以如果我认为按我存储的名称哈希搜索我找不到重复的名称而不是新的 ABRecordID我之前引用的记录?
最后,获得对 IOS 地址簿记录的长期引用的最佳方法是什么?如果上述建议确实有效,我错过了什么?