正确的方法来关闭NSURLConnection

时间:2015-10-28 06:13:36

标签: ios nsurlconnection nsurlrequest nsurlconnectiondelegate

我在我的应用程序中使用服务器客户端架构。

我正在使用NSURLConnection类,现在假设我在for循环中发送多个请求并使用与委托方法的异步连接。所以我的问题是 在我从服务器得到响应后,我需要手动关闭连接并使该对象为空。

我问,因为在服务器上有最大连接限制,如果连接限制超过我必须重新启动服务器,我不能更改最大连接限制。

3 个答案:

答案 0 :(得分:2)

没有。不需要它,因为NSURLConnection会在发生错误或数据加载时自行关闭连接。

如果您希望监控实际发生的情况,我建议您查看Technical Q&A QA1176。它描述了如何设置环境来监控iPhone发送的每个数据包。然后,您可以自己验证NSURLConnection的行为。

答案 1 :(得分:1)

释放连接的正确方法是将其设置为nil以及用于从连接接收数据的属性:

theConnection = nil;
receivedData = nil;

这来自URL Session Programming Guide in the section Using NSURLConnection

  

通过将属性(在别处声明)设置为nil来释放连接和数据对象。请注意,真实应用程序通常要求委托一次管理多个连接,因此这些行通常会被代码替换,以迭代您正在使用的任何数据结构。

答案 2 :(得分:0)

请用这个......可以帮忙

[self.connection cancel];
self.connection = nil;