2015-12-18 3 views
1

Я использую AFNetworking для загрузки zip-файла. По завершении этот блок вызывается.AFNetworking: мне нужно удалить загруженный файл самостоятельно?

- (void)setDownloadTaskDidFinishDownloadingBlock:(nullable NSURL * _Nullable (^)(NSURLSession *session, NSURLSessionDownloadTask *downloadTask, NSURL *location))block; 

Когда загрузка завершена, я просто извлекаю содержимое в нужное место.

[SSZipArchive unzipFileAtPath:location toDestination:unzipPath]; 

Theres два вопроса у меня об этом.

1) Нужно ли мне сначала удалять исходный файл в местоположении NSURL? Или система сделает это автоматически?

2) Что именно я должен возвращать в этом блоке?

Редактировать: Глядя на код, похоже, что я могу вернуть нуль в этом блоке, и AFNetworking не будет перемещать файл. Но должен ли я удалить исходный файл по адресу по адресу?

ответ

1

Вы спрашиваете:

  1. нужно удалить исходный файл в NSURL месте сам ли? Или система сделает это автоматически?

Система сделает это за вас.

  1. Что именно я должен возвращать в этом блоке?

Стандартное поведение является то, что вы бы вернуть NSURL для локального местоположения (например, в документах или папке кэша), и, если да, то AFNetworking будет переместить его туда для вас, когда загрузка выполняется ,

+0

Что касается №2, есть ли причина не идти против стандарта? Мне нужно извлечь файлы, сканировать каталог, удалить ненужные вещи и т. Д. – Hackmodford

+0

Вы спрашиваете, можете ли вы просто разархивировать его прямо в 'setDownloadTaskDidFinishDownloadingBlock', а не просто возвращать URL-адрес туда, куда он должен быть перемещен, а затем позволить' setTaskDidCompleteBlock' инициировать процесс распаковки? В то время как документация AFNetworking не рассматривает это, документы 'NSURLSessionDownloadDelegate'. Сказав это, документы «NSURLSession» неоднозначны, когда именно этот файл будет удален, и, учитывая, что вы, вероятно, захотите разархивировать отдельный поток, я был бы склонен следовать стандартным шаблонам. – Rob

+0

Вот пример того, что я делаю https://gist.github.com/Hackmodford/abeae16b00cc3cf2b11c – Hackmodford

Смежные вопросы