假设我有一个应用程序从网络获取数据,然后在应用程序中显示这些数据。但有时互联网会断开连接,所以我会显示'互联网不可用'的信息。但我想让用户忙于应用程序。所以我想要做下面的事情,但是实施中存在一些问题。连接和断开网络故障排除
1)当网络断开连接时我想显示消息'网络断开连接',并且我想将所有数据存储在数据库中。 问题:如何知道网络不可用,而又没有发生任何事件?
2)当网络连接时,我想获取数据并存储在缓冲区中。 问题:同样,我将如何知道网络现在可用?
假设我有一个应用程序从网络获取数据,然后在应用程序中显示这些数据。但有时互联网会断开连接,所以我会显示'互联网不可用'的信息。但我想让用户忙于应用程序。所以我想要做下面的事情,但是实施中存在一些问题。连接和断开网络故障排除
1)当网络断开连接时我想显示消息'网络断开连接',并且我想将所有数据存储在数据库中。 问题:如何知道网络不可用,而又没有发生任何事件?
2)当网络连接时,我想获取数据并存储在缓冲区中。 问题:同样,我将如何知道网络现在可用?
这是很常见的问题,最好用Reachability
类来解决。
你可以找到一个很好的手册在这里:Testing Network Reachability
和快速的答案是公认的答案在这里:
但要知道,这是最好的检查主机availabiility。当设备连接到AdHoc WiFi(没有互联网连接)时,我测试了这个代码,结果是:通过WiFi可以上网。所以如果你想确定 - 使用主机状态。
编辑:这可能是对SO最好的例子(回答iWasRobbed):
How to check for an active Internet connection on iOS or OSX?