ABRecordID a.k.a。一意の識別子は、各レコードを識別するのに適した方法です。しかし、Appleのドキュメントには、このAPIから返されるABRecordIDに関する注目すべき点がいくつか書かれています。
アドレス帳データベースのすべてのレコードには、一意のレコード識別子があります。この識別子は、そのレコードが削除されたり、データがリセットされたりしない限り、常に同じレコードを参照します。レコード識別子はスレッド間で安全に渡すことができます。デバイス間で同一のままであることは保証されていません。
したがって、ご質問にお答えください。 1)。どちらが良いオプションですか、SQLiteに連絡先の一意のレコード識別子を格納するか、連絡先の詳細をすべて格納しますか?私はあなたのSQLiteのDBに格納することができ示唆していることを
最小限の詳細は以下のとおりです。名、姓、作成日とレコードID
、再びアップルのドキュメントに記載されている理由:
特定のレコードへの長期参照を保持するための推奨される方法は、識別子に加えて、姓と名、または姓と名のハッシュを格納することです。 IDでレコードを検索するときは、レコードの名前と格納されている名前を比較します。一致しない場合は、保存された名前を使用してレコードを検索し、レコードの新しいIDを保存します。ユーザーが連絡先の名前番目変更される場合がありますが、それでもデバイスRESETに、作成日が同じままなので、私は同様に作成日SQLiteのDBが挿入されている、ことを
注意。
2)。あなたの答えが識別子の場合、この一意のレコード識別子は毎回同じレコードを参照しますか?
あなたの最初の質問を説明しながら、私はこの質問にも答えました。
Though I have pasted most of the content here, its always advised to read the documentation