Reachability
是一个网络帮助实用程序类,用于获取有关连接状态的各种信息
可达性的主要目的是什么?
可达性用于查询网络状态,并注册侦听器以便在连接发生变化时获得通知。
这是 Reachability 的主要目的,向用户显示消息吗?
不,它的主要用途是测试是否有互联网连接,或者在连接发生变化时收到通知
例如如果NSURLConnection
请求失败我需要使用吗
是否可以以某种方式重新发送请求?
是的,你可以使用它。例如,我通常在项目中所做的就是保存向远程服务器发出的所有请求。
假设我想下载 10 个文件。当任何文件由于没有互联网连接而导致下载过程失败时,我会将它们保存到失败下载数组中。
然后,当 Reachability 通知我互联网连接已恢复时,我会遍历该数组并再次开始下载过程。
Reachability 的正确用法是什么?
这取决于您的模式和需求。
应用启动时只使用一个实例,然后监听是常见的吗
网络变化?
是的,这就是我所做的。在我的项目中,我只有 1 个下载管理器类的实例,并且该类具有唯一活动的 Reachability 实例。
或者我应该在每个网络之前检查自己的可达性状态
要求?
您无需拥有多个 Reachability 类实例即可做到这一点。我通常做的是在我的下载管理器中有一个方法,告诉我是否有连接,使用 Reachability。
够用吗reachabilityWithHostName
或者我还需要reachabilityForLocalWiFi
and reachabilityForInternetConnection
?
我对此不太确定,但我通常做的是测试所有方法的连接性。我不区分 3G 或 WiFi,但在某些实现中此信息(WiFi 或 3G)可能有用。