gpt4 book ai didi

iphone - 调用取消方法后,NSURLConnection 仍然调用委托(delegate)

转载 作者:行者123 更新时间:2023-12-03 20:29:40 25 4
gpt4 key购买 nike

NSURLConnection 有问题,如果我创建一个 NSURLConnection 并调用 [connection connectionWithRequest] 让它加载一点,然后在大多数情况下调用 [connection cancel] 工作正常。然而,有时即使在我调用 [connection cancel] 之后,连接的委托(delegate)仍然会被调用(这会导致应用程序崩溃)。谷歌搜索看起来这里的问题是运行循环中的竞争条件,我取消连接并释放委托(delegate),但在运行循环循环之前它调用委托(delegate)函数 ->崩溃。

在我调用[连接取消]后,有没有办法确认连接实际上已取消?即使是蹩脚的 while() 循环也可以:(

最佳答案

在委托(delegate)收到 connectionDidFinishLoading:connectionDidFailWithError: 消息之前,不应释放连接和关联的存储。

Delegates are not normally retained by the object they're acting as delegate for 。但在这种情况下确实如此,因此当 NSURLConnection 仍在引用委托(delegate)时,委托(delegate)不应变得无效,除非您以某种方式过度释放它。

关于iphone - 调用取消方法后,NSURLConnection 仍然调用委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2503652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com