使用ASIHTTPRequest的可达性

时间:2012-02-07 23:48:39

标签: iphone ios cocoa-touch asihttprequest reachability

我开始在我的iOS项目中使用Reachability来测试是否有互联网连接。

我的应用包含一个UITabBarController,其中包含3个不同的标签。每个标签的根目录都是不同的UIViewController。在每个控制器中,我根据用户的操作发出了几个请求。

我的问题是如何在使用互联网连接的每个函数之前创建一个全局函数(或宏),而无需在每个控制器中重写此函数。

有可能有这样的功能吗?我看到有一种方法可以让应用程序依赖网络状态发送通知。但请看这个例子:

  1. 用户点按UIButton
  2. 网络可用,请求开始。
  3. 如果网络出现故障,如何停止请求并显示例如UIAlertView
  4. 我搜索得很好,但我无法找到问题的答案,谢谢。

1 个答案:

答案 0 :(得分:1)

在发出网络请求之前,不应使用可达性来检测网络是否可用,因为发出网络请求的行为可以在需要时启动网络。可达性仅应用于检测网络在不可用后何时可用。

尝试发出网络请求 - 如果网络不可用,您将收到错误消息。通常响应会立即返回,但如果网络不稳定,可能需要一段时间,因此您不应该在主线程上进行同步网络调用。如果可能的话,使用NSURLConnection,当发生某些事情时你会得到回调。