私はABAddressBook
を私のアプリで使用しています。
ABへのアクセスは、UIを解放するために別のスレッドから行われます。
私は、ABインスタンスへのアクセスが常に同じスレッドから行われなければならず、この理由からラッパーを構築していることに気付いています。
ラッパーはシングルトンで、独自のバックグラウンドスレッドを維持します。
呼び出し元スレッドは、実装の終了時まで待機し、最後に関連するデータ(連絡先リスト、特定の連絡先など)でout引数を埋める間に、ラッパーに来るすべてのメッセージがバックグラウンドスレッドに自動的にリダイレクトされます。 。iPhone:アドレス帳が時々消される
ただし、デバイスのアドレス帳が空(消去)になることがあります。
アプリを10〜20回使用するたびに
だから、私はいくつかの質問があります:私は、専用のスレッドでABからABRecordRefを取得した後、私は同じスレッドでもABRecordRefからデータを取得しなければならないのか、それは別のスレッドかもしれ
- を?私はまた、ABRecordRefのラッパーを持っているので、ABから連絡先を取得するときに私は人のラッパーオブジェクトを埋めるので、それを元のスレッドから(ABRecordRefから読み込んで)使用します。
- 私はAB UI API(人のピッカーナビゲーションコントローラ、新しい人ビューコントローラなど)を使用して、それらにABAddressBookのインスタンスを渡すと、APIがこのABインスタンスを使用しないという心配がありますそれを作成した同じスレッド?私はABインスタンスの代わりにNULLを渡すことができ、APIは独自のABを使用することを見てきましたが、連絡先を変更するにはどうすればいいですか?この場合、私はそれにABRecordRefインスタンスを渡さなければなりません...
- 私は考えなかったことがありますか?
ありがとうございます。
から
マイケル