我的项目正在使用 AFNetworking。
https://github.com/AFNetworking/AFNetworking
如何调低超时时间?没有互联网连接的自动柜员机在大约 2 分钟内不会触发失败 block 。太长了……
最佳答案
更改超时间隔几乎肯定不是您所描述问题的最佳解决方案。相反,您真正想要的是让 HTTP 客户端处理网络变得无法访问,不是吗?
AFHTTPClient
已经有一个内置机制让您知道何时失去互联网连接,-setReachabilityStatusChangeBlock:
。
在慢速网络上请求可能需要很长时间。最好相信 iOS 知道如何处理慢速连接,并区分慢速连接和完全没有连接。
为了扩展我对为什么应该避免在这个线程中提到的其他方法的推理,这里有一些想法:
performSelector:afterDelay:...
在多线程应用程序中可能很危险。这会让自己面临晦涩难懂且难以调试的竞争条件。https://stackoverflow.com/questions/8304560/