我知道这个问题似乎是许多其他问题的欺骗,但是,我觉得这个简单的案例在这里没有得到很好的解释。来自 Android 和 BlackBerry 背景,HTTPUrlConnection
如果没有可用的连接,通过请求立即失败。这似乎是完全理智的行为,我惊讶地发现NSURLConnection
iOS 没有模仿它。
我了解 Apple(以及扩展它的其他人)提供了一个Reachability
类来帮助确定网络状态。我很高兴第一次看到这个并完全期望看到类似的东西bool isNetworkAvailable()
,但令我惊讶的是,我发现一个复杂的系统需要通知注册和回调,以及一堆看似不必要的细节。肯定有更好的办法。
我的应用程序已经优雅地处理了连接失败,包括没有连接。用户收到失败通知,应用程序继续运行。
因此我的要求很简单:我可以在所有 HTTP 请求之前调用单个同步函数,以确定我是否应该打扰实际发送请求。理想情况下,它不需要设置,只返回一个布尔值。
这在iOS上真的不可能吗?