5

アプリケーションで同期サービスを使用しています。名簿から連絡先を取得する通常の方法を使用しています(同期サービスを使用)。

ユーザーが同期セッションを終了することを決定した場合、同期セッションを途中で終了したいので、ユーザーが「キャンセル」ボタンを押すと、[driver finishSyncing]

に接続されているのISyncSessionDriverは、同期セッションに典型的なデリゲートメソッドを処理するデリゲートです。それらの方法の1つは- (BOOL)sessionDriver:(ISyncSessionDriver *)sender willFinishSessionAndReturnError:(NSError **)outError

問題は、を呼び出すときfinishSyncingに、sessionDriver:willFinishSessionAndReturnError:が1回だけでなく、何百回も繰り返し呼び出されることです。最終的にはエラーがスローされます。

では、どうすればこれを修正できますか、または問題が何であるかを理解するために、より良いデバッグを行うことができますか?

ありがとう

4

1 に答える 1

3

代わりに使用してください-(void)cancelSyncing

キャンセルされたセッションは引き続き使用できませんので、すぐにレシーバーを解放してください。

于 2011-06-12T09:19:21.007 に答える