Фоновые методы не останавливаются после viewWillDisappear/ Dealloc

Прежде всего, проверьте это, чтобы понять, что я делаю

Я не получил свой ответ на вопрос выше и все еще жду его.

Теперь новая проблема заключается в том, что когда я нажимаю кнопку "назад" с помощью следующего кода, методы последнего ViewController все еще работают. Он будет использовать память и продолжать обработку до тех пор, пока не получит ответ (это то, что я хочу сделать, но если пользователь нажмет обратно, я хочу остановить все методы)

    [self.navigationController popViewControllerAnimated: YES];

Как мне это остановить?

1 ответ

Решение

Вам нужно сделать [getTryAgainTask cancel] (при условии, getTryAgainTask имеет тип NSURLSessionDownloadTask), прежде чем вы получите этот контроллер. Задача загрузки является асинхронной и выполняется независимо от того, какой контроллер (который ее запустил) был освобожден. Это может привести к сохранению циклов, что приведет к аварийному завершению работы приложения. Код, как сейчас, войдет в бесконечный цикл. Лучшим решением было бы сохранить вкладку о количестве повторных попыток (скажем, 3 раза), а затем сообщить пользователю о проблеме, спрашивая, не хочет ли он / она повторить попытку.

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