关键代码片段
#import "Reachability.h"
// 初始化Reachability实例
Reachability *reachability = [Reachability reachabilityForInternetConnection];
// 设置网络状态变化的通知
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleNetworkChange:) name:kReachabilityChangedNotification object:nil];
// 开始监听
[reachability startNotifier];
原理说明
- 初始化Reachability实例:
[Reachability reachabilityForInternetConnection]
这行代码创建了一个用于监测网络连接到互联网的 Reachability
实例。Reachability
类提供了不同的类方法来监测不同类型的网络连接,如监测WiFi连接 reachabilityForLocalWiFi
等。
- 设置通知:通过
NSNotificationCenter
添加一个观察者,当网络状态发生变化时(即接收到 kReachabilityChangedNotification
通知),会调用 handleNetworkChange:
方法,在这个方法中可以根据网络状态做出相应处理。
- 开始监听:
[reachability startNotifier]
启动网络状态监听,Reachability
会通过系统的网络框架持续监测网络状态变化,并在变化时发出通知。