Отправить прогресс из NSURLSession в ViewController [swift - iOS]
Я разрабатываю приложение, которое обрабатывает некоторые загрузки в фоновом режиме. Я перемещаю файл в каталог документов и сохраняю его под исходным именем (используя downloadTask.originalRequest?.URL!.pathExtension
). Все идет нормально.
С помощью
URLSession(_:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:)
Я могу распечатать прогресс в консоли во время загрузки. Но это не поможет мне, если я использую приложение на телефоне. То, что я ожидаю сделать, это вызвать функцию для обновления индикатора выполнения в моем представлении, которое инициализировало загрузку. Но я понятия не имею, как это назвать.
Кто-нибудь знает, как я могу узнать, из каких UIViewController
(на самом деле большую часть времени это будет TableCellViewController
) Я начал загрузку и как отправить прогресс в функцию этого ViewController
?
2 ответа
Я хотел бы рассказать вам хороший учебник по этому вопросу. NSURLSession Tutorial
Делегаты часто используются в следующих ситуациях
Когда классу необходимо передать некоторую информацию другому классу. Когда классу нужно разрешить другому классу настраивать его, классам не нужно заранее ничего знать друг о друге, за исключением того, что класс делегата соответствует требуемому протоколу.
В следующей статье вы можете увидеть, как создать делегата в target-C и Swift 2.0.