NSURLSessionResponseCancel выдает ошибку?
Я использовал NSURLConnection
объект и вызвал его метод cancel
иногда.
Теперь я должен заменить NSURLConnection
-> NSURLSession
, NSURLSession
работает с задачами, которые имеют cancel
метод тоже.
Проблема в -[NSURLConnection cancel]
просто прекратить обработку запросов, но если я использую -[NSURLSessionTask cancel]
выдает "ошибку отмены". Так как правильно отличить, если cancel
вызывается вручную или если произошла настоящая ошибка?
2 ответа
Сравните код ошибки с NSURLErrorCancelled. Этот код ошибки генерируется только тогда, когда ваш код отменяет запрос.
Я нашел 3 решения:
задача подкласса / класс сеанса
создать собственное свойство с помощью метода swizzling в классе задачи / сессии
самый простой, но не очень красивый способ - задача имеет свойство строки
taskDescription
и документация говорит, что разработчики могут использовать его по своему усмотрению.