iphone – NSURLConnection仍调用委托AFTER取消方法已被调用
发布时间:2020-12-15 01:42:57 所属栏目:百科 来源:网络整理
导读:有一个NSURLConnection问题,如果我创建一个NSURLConnection并调用[connection connectionWithRequest]让它加载一点然后调用[连接取消]大部分时间工作正常.然而偶尔甚至在我调用[连接取消]之后,连接的委托仍然被调用(这会使应用程序崩溃).谷歌搜索它看起来像
有一个NSURLConnection问题,如果我创建一个NSURLConnection并调用[connection connectionWithRequest]让它加载一点然后调用[连接取消]大部分时间工作正常.然而偶尔甚至在我调用[连接取消]之后,连接的委托仍然被调用(这会使应用程序崩溃).谷歌搜索它看起来像这里的问题是在runloop中的竞争条件,我取消连接并释放委托但在runloop循环之前它调用委托函数 – >崩溃.
在我打电话给[连接取消]确认连接已经取消后,有没有办法让我这样做?即使是糟糕的while()循环也会:( 解决方法
你不应该释放连接&相关存储,直到您的委托收到connectionDidFinishLoading:或connectionDidFailWithError:消息.
Delegates are not normally retained by the object they’re acting as delegate for.但是在这种情况下它是,所以代表不应该在NSURLConnection仍然引用它时变为无效,除非你以某种方式过度释放它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |