【发布时间】:2017-11-04 05:50:16
【问题描述】:
在我的应用程序中,我有一个进行云调用的方法。它有一个完成处理程序。在某些时候,当用户向云进行此调用并且在等待完成时,用户可能会点击注销。
这将从堆栈中删除控制器,因此完成块将返回到不再在堆栈上的控制器。
这会导致崩溃,因为我在完成返回时执行了一些 UI 任务。 我做了一个解决方法,我没有对 UI 做任何事情是控制器不再在堆栈上。
但是,我很好奇是否可以在注销时以某种方式取消/停止所有挂起的回调?
【问题讨论】:
-
如果您在完成块中使用对 self 的弱引用,您应该能够避免任何保留/nil 问题并在 VC 被取消初始化的情况下停止块运行
标签: ios swift callback completionhandler