我正在使用这个带有委托的NSURLConnection。
nsconnection = [[NSURLConnection alloc] initWithRequest:request
delegate:self startImmediately:YES];问题是网站根本没有响应。什么都没有,只是在浏览器中旋转空白页面,没有故障。在我的委托中,我处理失败,但当站点没有响应时,委托不会被调用。对如何使连接超时有什么建议吗?
发布于 2009-09-15 02:13:12
您可以在NSURLRequest对象中指定超时。一种方法是通过requestWithURL:cachePolicy:timeoutInterval:方法构造它。(如果您不想担心这一部分,可以传入默认的NSURLRequestUseProtocolCachePolicy cachePolicy参数。)超时是一个以秒为单位的浮点值,在iPhone SDK中基本上所有的时间间隔都是如此。
还要确保设置了NSURLConnection的委托并响应connection:didFailWithError:方法。连接总是在连接完成时调用此方法或connectionDidFinishLoading:。
发布于 2010-09-01 01:02:51
编辑:此答案现在已过时,但在回答日期是准确的。
我知道这个帖子很老,但我也遇到了这个问题。当在服务所在的内部网络之外测试应用程序时,会发生这种情况。该服务最终将超时,但苹果要求在超时之前240秒(4分钟)。看看这个帖子,了解更多关于这个问题的信息。
https://stackoverflow.com/questions/1424608
复制相似问题