对已关闭的视图控制器的异步回调?

Posted

技术标签:

【中文标题】对已关闭的视图控制器的异步回调?【英文标题】:Asynchronous Callbacks to Dismissed Viewcontrollers? 【发布时间】:2010-08-13 18:18:43 【问题描述】:

在测试 iphone 应用程序时注意到一个问题,如果快速打开/关闭包含异步 http 调用的模态视图,应用程序最终会冻结并显示 EXC_BAD_ACCESS 消息。我相对有信心在模式视图或启动它的视图控制器中没有任何内存泄漏(至少我可以通过 xcode 中的泄漏检测工具找到任何内存泄漏)。我的 n00b 想知道当视图突然被关闭时挂起的异步回调会发生什么。这是我应该关心的问题,还是 iPhone OS 会为我处理这个问题?

【问题讨论】:

【参考方案1】:

您应该在 HTTP 请求类中保留视图控制器,或者如果您没有抽象类,请在委托方法中保留和释放自身。

【讨论】:

啊……是的,这很有道理。 接受作为答案,漂亮吗?【参考方案2】:

此外,将您的视图控制器取消设置为在 dealloc 中挂起的 HTTP 请求的委托。

【讨论】:

以上是关于对已关闭的视图控制器的异步回调?的主要内容,如果未能解决你的问题,请参考以下文章

使用回调异步加载列表视图中的图像

如何在Flutter / Dart中创建异步回调?

AngularJs 中的两种方式数据绑定不使用异步回调

处理异步套接字(.Net)后仍然会调用回调

控制异步回调利器 - async 串行series,并行parallel,智能控制auto简介

TCP 客户端异步套接字回调