Я знаю, что могу использовать dataTaskWithURL:completionHandler:
, чтобы получить данные в блоке completeHandler, но это блокирует методы делегата от стрельбы, и мне нужен метод didReceiveData:
, так как я настраиваю индикатор прогресса.Как получить данные из готовой `NSURLSessionDataTask`?
Я полностью в недоумении, как получить загруженные данные после их завершения. Что такое метод делегата, эквивалентный блоку завершения? didCompleteWithError
, похоже, не возвращает NSData
.
Мне не нужно вручную объединять данные в didReceiveData
, не так ли? Это кажется очень хромым, когда completeHandler просто передает это вам. Я бы не прочь сделать это, если бы не тот факт, что я мог одновременно загружать 50+ вещей, поэтому отслеживание всех этих частичных данных кажется болью в заднице. Должен ли я просто переключиться на NSURLSessionDownloadTask
?
Я написал класс загрузчика (используя задачу загрузки), который может вам помочь: https://github.com/mattneub/Programming-iOS-Book-Examples/blob/master/bk2ch24p842downloader/ch37p1099downloader/MyDownloader.m – matt
Итак, это - реализация того, что [Роб имеет в виду] (http://stackoverflow.com/a/21925050/2005643) в своем последнем абзаце? –
Вы посмотрели? Вы посмотрели, что я сказал в своем предыдущем комментарии? – matt