Отправить прогресс из NSURLSession в ViewController [swift - iOS]

Я разрабатываю приложение, которое обрабатывает некоторые загрузки в фоновом режиме. Я перемещаю файл в каталог документов и сохраняю его под исходным именем (используя downloadTask.originalRequest?.URL!.pathExtension). Все идет нормально.

С помощью

URLSession(_:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:) 

Я могу распечатать прогресс в консоли во время загрузки. Но это не поможет мне, если я использую приложение на телефоне. То, что я ожидаю сделать, это вызвать функцию для обновления индикатора выполнения в моем представлении, которое инициализировало загрузку. Но я понятия не имею, как это назвать.

Кто-нибудь знает, как я могу узнать, из каких UIViewController (на самом деле большую часть времени это будет TableCellViewController) Я начал загрузку и как отправить прогресс в функцию этого ViewController?

2 ответа

Решение

Я хотел бы рассказать вам хороший учебник по этому вопросу. NSURLSession Tutorial

Делегаты часто используются в следующих ситуациях

Когда классу необходимо передать некоторую информацию другому классу. Когда классу нужно разрешить другому классу настраивать его, классам не нужно заранее ничего знать друг о друге, за исключением того, что класс делегата соответствует требуемому протоколу.

В следующей статье вы можете увидеть, как создать делегата в target-C и Swift 2.0.

Как мне создать делегатов в Objective-C?

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