gpt4 book ai didi

iphone - 如何手动强制关闭 NSURLConnection?

转载 作者:行者123 更新时间:2023-12-03 17:35:09 27 4
gpt4 key购买 nike

我正在使用 NSURLConnection 进行 http 下载。根据情况,我可能必须在特定下载后断开连接。比如说,如果我的下载在 30 秒内完成,那么好吧,否则下载应该在 30 秒后停止。我还必须记录这些事件。我的问题是,即使在 30 秒后,它仍然继续下载数据,并且仅在下载完成后才会记录事件。

简单地说,我想强制关闭下载,并且还想禁用所有由 http 连接触发的委托(delegate)事件。我不想在多个位置设置标志,这会让事情变得更加复杂。有什么想法吗?

更新:完整场景:我已在 NSURLReqeust 对象中将 timeoutInterval 设置为 10 秒。现在,如果 10 秒内没有收到数据,会发生什么情况,连接会在 10 秒后自动断开,工作完全正常。但我的软件中有另一个功能,要求在给定时间内未完成下载时终止连接。我正在使用一个单独的 NSTimer。我所能做的就是在 NSTimer 事件触发时设置一个标志。现在,如果通过 NSTimer 设置标志并且数据停止传入,我将没有在接下来的 10 秒内触发的连接委托(delegate)。现在我的问题是中止事件和超时事件同时发生。

最佳答案

好吧,您“可以”通过向 NSURLConnection 发送取消事件来取消它:

[connection cancel];

请参阅苹果 docs .

在此之前,只需将委托(delegate)清空即可,这样您就不会受到任何委托(delegate)回调的骚扰。

关于iphone - 如何手动强制关闭 NSURLConnection?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13623618/

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