Учитывая, что ABRecordID может меняться между облачными синхронизациями и при других обстоятельствах из-под моего контроля, как я могу поддерживать долгосрочную ссылку на запись в адресной книге IOS?
Apple предоставляет следующие рекомендации:
"Рекомендуемый способ сохранить долгосрочную ссылку на конкретную запись - это сохранить первое и последнее имя или хэш первого и последнего имени в дополнение к идентификатору. Когда вы просматриваете запись по ID, сравните имя записи с вашим сохраненным именем. Если они не совпадают, используйте сохраненное имя для поиска записи и сохраните новый идентификатор для записи."
Но я не понимаю этого указания. Если адресная книга может иметь в себе дубликаты имен И, поскольку пользователи могут изменять имя в записи, как этот совет может работать?
Например, если пользователь изменяет имя записи в адресной книге, моя подпрограмма не сможет найти ее по адресу ABRecordID, поэтому, если я думаю, что поиск по хэш-имени, который я хранил, не мог найти дублирующее имя вместо нового ABRecordID для этой конкретной записи, на которую я ранее ссылался?
В конце концов, каков ЛУЧШИЙ способ получить долгосрочную ссылку на запись IOS AddressBook? И если приведенный выше совет действительно работает, что мне не хватает?