微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将带有数据任务的活动 URLSession 从一个视图控制器传递到另一个视图控制器

如何解决如何将带有数据任务的活动 URLSession 从一个视图控制器传递到另一个视图控制器

我了解如何通过属性一个视图控制器到另一个视图控制器之间传递简单数据(例如结构、整数、字符串、浮点数)。但是,当我将一个活动的 URLsession 从一个视图控制器传递到另一个视图控制器时,我被难住了。

场景,我有一个任务,它开始从一个视图控制器上传潜在的(大尺寸)内容,并且很可能需要在 URLsession.shared.dataTask 完成之前移动到另一个 ViewController。但是,我需要 URLsession 保持持久性并在完成后更新应用程序。我曾想过在这种情况下使用单例,并看到单例不是处理事情的最佳方式,但应该有效。我可以制作一个单独的完成处理程序来处理其他 ViewController 中的任务,但我不太确定如何通过代码实际实现这一点。如果有人能发个例子就太好了。

就目前而言,只是为了工作,我正在做一次性的事情并将任务放在 AppDelegate 文件中。不建议这样做,但对于一项任务,它现在可以工作。

另外,我知道“容器”方法,我现在不想把它放在容器视图控制器中,因为它是入职过程的一部分。所以,我宁愿在这个时候通过它。

我不确定:

一个 ViewController 中发起的 URLsession 是否会继续在后台线程上运行,即使它所发起的 ViewController 被销毁?

如果该问题的答案是肯定的,我该如何访问对呼叫的响应或听到呼叫已完成。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。