ios - 长时间运行的异步任务 - 如何在用户可能导航到的任何 View Controller 中接收回调

标签 ios swift asynchronous viewcontroller

在我的 iOS Swift 应用程序中,我启动了一个长时间运行的异步任务(由在应用程序的生命周期中存在的单例保存)来将一些数据上传到服务器。通常,此任务可能需要长达 10 秒的时间,在此期间,他们很可能会离开启动异步任务的 View Controller 。任务完成后,我想向用户显示一条消息,无论用户位于应用程序中的哪个位置。 有没有一种简单的方法可以显示对话框/消息/其他内容,而不必每次创建新的 View Controller 时都注册新的委托(delegate)?

在我的android应用程序中,它做同样的事情,我可以在任何我喜欢的时候显示一个toast(即对话框),无论当时显示哪个片段(即 View Controller ) - 无需实现片段内的特殊行为,因为 toast 显示在片段的父级上。

最佳答案

您可以使用 NSNotificationNSNotificationCenter 在回调完成时发送通知,并在您可能拥有的任何 ViewController 中注册该通知。

关于ios - 长时间运行的异步任务 - 如何在用户可能导航到的任何 View Controller 中接收回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51137987/

相关文章:

java非阻塞HTTP客户端

ios - 有没有办法更改应用程序的默认字体

ios - MIDI 信息正在成倍增加

子类型的 Swift 协议(protocol)一致性要求

ios - 如何快速将按钮置于 Storyboard上方的桌面 View 中央?

c++ - 嵌套 Lambda 函数 - 性能影响

ios - 如何使用授予访问权限以编程方式从地址簿中获取电子邮件地址? ( objective-c )

ios - 将 2 个 NSArray 数据保存到 NSDocumentDirectory 中的 2 个文件

ios - 在新 Apple Watch Series 2 WatchOS 3 中使用 GPS

c# - 异步循环等待完成再继续