MACOSX - при вызове -finishSyncing для ISyncSessionDriver приложение делает повторные вызовы делегату
Я использую службы синхронизации в моем приложении. Я использую обычный способ получения контактов из адресной книги (используя службы синхронизации).
Я хочу преждевременно завершить сеанс синхронизации, если пользователь решит это сделать, поэтому, когда пользователь нажимает кнопку "Отмена", я звоню [driver finishSyncing]
Прилагается к ISyncSessionDriver
является делегатом, который имеет дело с методами делегата, типичными для сеанса синхронизации. Одним из таких методов является - (BOOL)sessionDriver:(ISyncSessionDriver *)sender willFinishSessionAndReturnError:(NSError **)outError
Проблема в том, что при звонке finishSyncing
, sessionDriver:willFinishSessionAndReturnError:
неоднократно звонят, не раз, а сотни раз. В конце концов это вызовет ошибку.
Итак, как я могу это исправить, или как лучше отладить, чтобы выяснить, в чем проблема?
Спасибо
1 ответ
Используйте вместо - (void) cancelSyncing.
Обязательно освободите приемник вскоре после этого, потому что вы не можете продолжать использовать отмененный сеанс.