使用警报视图处理超时-iOS

使用警报视图处理超时-iOS,ios,nsurlconnection,uialertview,nsurlrequest,Ios,Nsurlconnection,Uialertview,Nsurlrequest,是否可以使用UIAlert处理请求超时?我想通知用户已经超时了。我设置0.0只是为了测试它是否会发生。日志没有打印出来,所以我不相信我正在处理 request.timeoutInterval=0.0; 为了解决这个问题: - (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error { if(error.code == NSURLErrorTimedOut){ NSLog(@"Tim

是否可以使用UIAlert处理请求超时?我想通知用户已经超时了。我设置0.0只是为了测试它是否会发生。日志没有打印出来,所以我不相信我正在处理

request.timeoutInterval=0.0;
为了解决这个问题:

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
if(error.code == NSURLErrorTimedOut){
    NSLog(@"Time out");
   }
}
我正在使用NSURLConnectionLegate和NSURLConnectionDownloadDelegate


谢谢。

您可以找到所有相关错误代码的列表。请注意,-1009是KCFurrorNotConnectedPointerNet。要强制超时,您需要能够抑制URL的实际发送,或者找到一个刚刚进入黑洞的URL

我相信苹果公司将网络链接调节器与Xcode its捆绑在网络工具中。关于这个工具有一篇很棒的文章

我认为获得超时的另一种方法是在发送请求后立即切换到另一个应用程序,将您的应用程序置于后台。等待5分钟,切换回,然后查看日志。您可以在演示应用程序中不断发送NSURLConnections,也就是说,一旦第一个返回,就发送另一个。所以总是有一个优秀的。现在切换你的应用程序-切换到模拟器中的另一个应用程序-等待,然后返回。您应该能够通过这种方式捕获条件,您可以看到更改timeoutinterval值的影响


在苹果的iOS网络私人论坛上有一条关于超时的长长的帖子——你也许能找到它。最后,正如我所记得的,系统强制执行了一个合理长度的最小值,您可以使它变长,但不能变短。这种隐藏的行为无疑让许多人困惑不解。回答这个问题的人是爱斯基摩人奎因,他是苹果公司最有经验的网络工程师之一。

你有错误吗?如何设置和启动NSURLConnection?请尝试将超时间隔设置为1。文档没有说明,但我希望零被视为无效。此外,我理解系统规定了最短时间,因此您应该等待几分钟,看看它是否确实返回了该代码。如果不是您测试的代码,请添加另一个日志以准确显示代码。@Wain谢谢您的反馈,我尝试将其设置为1,不走运。反馈很好!!非常感谢。这很有趣。很遗憾,没有一个“银弹”可以用来创建超时。@Gman很可能有一个银弹——我只是不知道。当然,使用网络调节器,你可以使用该工具停止所有流量-这肯定会产生一个超时。哈-我回答了尽可能多的问题-我非常接近一个重要的里程碑:-说真的,很高兴能提供帮助!这个工具肯定没有得到充分的利用,它确实可以帮助开发人员更好地在一个现实的、糟糕的网络中测试他们的代码,在这个网络中,用户正在取消长时间运行的操作等等。我希望你们能达到这个里程碑:再次感谢你们的帮助——你们可以尝试回答我的一些未回答的问题——iOS中的多部分对象;