2012-02-25 94 views
0

假设我有一个应用程序从网络获取数据,然后在应用程序中显示这些数据。但有时互联网会断开连接,所以我会显示'互联网不可用'的信息。但我想让用户忙于应用程序。所以我想要做下面的事情,但是实施中存在一些问题。连接和断开网络故障排除

1)当网络断开连接时我想显示消息'网络断开连接',并且我想将所有数据存储在数据库中。 问题:如何知道网络不可用,而又没有发生任何事件?

2)当网络连接时,我想获取数据并存储在缓冲区中。 问题:同样,我将如何知道网络现在可用?

回答

1

这是很常见的问题,最好用Reachability类来解决。

你可以找到一个很好的手册在这里:Testing Network Reachability

和快速的答案是公认的答案在这里:

iPhone reachability checking

但要知道,这是最好的检查主机availabiility。当设备连接到AdHoc WiFi(没有互联网连接)时,我测试了这个代码,结果是:通过WiFi可以上网。所以如果你想确定 - 使用主机状态。

编辑:这可能是对SO最好的例子(回答iWasRobbed):

How to check for an active Internet connection on iOS or OSX?