MACOSX - при вызове -finishSyncing для ISyncSessionDriver приложение делает повторные вызовы делегату

Я использую службы синхронизации в моем приложении. Я использую обычный способ получения контактов из адресной книги (используя службы синхронизации).

Я хочу преждевременно завершить сеанс синхронизации, если пользователь решит это сделать, поэтому, когда пользователь нажимает кнопку "Отмена", я звоню [driver finishSyncing]

Прилагается к ISyncSessionDriver является делегатом, который имеет дело с методами делегата, типичными для сеанса синхронизации. Одним из таких методов является - (BOOL)sessionDriver:(ISyncSessionDriver *)sender willFinishSessionAndReturnError:(NSError **)outError

Проблема в том, что при звонке finishSyncing, sessionDriver:willFinishSessionAndReturnError: неоднократно звонят, не раз, а сотни раз. В конце концов это вызовет ошибку.

Итак, как я могу это исправить, или как лучше отладить, чтобы выяснить, в чем проблема?

Спасибо

1 ответ

Решение

Используйте вместо - (void) cancelSyncing.

Обязательно освободите приемник вскоре после этого, потому что вы не можете продолжать использовать отмененный сеанс.

Другие вопросы по тегам