我正在使用NSURLConnection从服务器加载数据。因此,在我的Iphone应用程序中有一个按钮,当单击此按钮并连接互联网连接时,数据将成功加载。但后来当我关闭Mac上的互联网连接,然后再次点击该按钮时,没有调用didFailWithError方法,但是调用了其他方法,例如didReceiveResponse,connectionDidFinishLoading。
之前有人遇到过这种问题吗?或者有人知道这个问题的原因吗?
非常感谢任何评论,建议和解决方案。感谢。
答案 0 :(得分:1)
在更改代码中的任何行之前,请尝试使用4.3模拟器进行相同的测试,然后使用5.0。
我尝试过类似的东西(请求URL和连接关闭但没有响应),使用4.3,调用didFailWithError
。在5.0中,我得到一个didReceiveResponse
,状态代码为200 OK (!)
,然后是connectionDidFinishLoading
。相同的代码,相同的请求,不同的操作系统版本......
答案 1 :(得分:0)
奇怪的行为,特别是因为你关闭了网络,但委托仍然要求** connectionDidFinishLoading **这怎么可能?您还写了“点击此按钮 并连接了互联网”,您的代码仍然启动了没有互联网的连接?
有可能,你使用缓存数据配置了什么,这就是为什么你会有这样的奇怪行为。
* nix系统默认情况下在BSD套接字上有连接超时,这可能不会告诉你什么连接丢失。但我认为Mac OS / iOS配置了这种情况。