4

ユーザーの連絡先を含むゲームを作成していますが、各連絡先を一意に識別する方法が必要です。これは、ユーザーが特定の連絡先の名前、電話番号、またはその他のプロパティを簡単に変更できるためです。これを行う方法はありますか?

4

2 に答える 2

4

ABRecordGetRecordID()レコードの一意の ID を取得するために使用できます。ABRecordIDの typedef である を返しますint32_t

于 2012-10-28T02:15:06.040 に答える
2

ABRecordGetRecordID() は、使用できる API です。ただし、Apple のドキュメントには、この API によって返される ABRecordID に関する注目すべき点がいくつか記載されています。

アドレス帳データベースのすべてのレコードには、一意のレコード識別子があります。この識別子は、レコードが削除されるかデータがリセットされない限り、常に同じレコードを参照します。レコード識別子は、スレッド間で安全に受け渡すことができます。デバイス間で同じであるとは限りません。

Apple のガイドラインに従って推奨される方法は次のとおりです。

特定のレコードへの長期的な参照を保持するための推奨される方法は、識別子に加えて、姓と名、または姓と名のハッシュを保存することです。ID でレコードを検索するときは、レコードの名前と保存されている名前を比較します。一致しない場合は、保存された名前を使用してレコードを検索し、レコードの新しい ID を保存します。

私のアプリでは、ABRecordID に対する名前がユーザーによって変更された可能性があるため、連絡先の作成日も確認しています。連絡先の作成日は、デバイスのリセット時に変更されません。

ここにほとんどのコンテンツを貼り付けましたが、常にドキュメントを読むことをお勧めします

于 2014-11-27T18:57:56.120 に答える