didFinishLaunchingWithOptions中增加如下代码
//使用通知中心监听kReachabilityChangedNotification通知
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotification object:nil];
//获取指定站点的Reachability对象
reach=[Reachability reachabilityWithHostName:@"www.baidu.com"];
//让Reachability对象开启被监听状态
[reach startNotifier];
-(void)reachabilityChanged:(NSNotification *)note
{
NSLog(@"进来了");
//通过通知对象获取被监听的Reachability对象
Reachability *currReach=[note object];
//获取Reachability对象的网络状态
NetworkStatus status=[currReach currentReachabilityStatus];
if (status==NotReachable) {
[self showAlert:@"www.baidu.com"];
}else{
[self showAlert:@"网络正常"];
}
}
我做这块遇到的问题就是一开始通知无论怎么都不执行,从网上看了才知道
Reachability *reach要设置为全局对象,我认为不把它设置为全局对象,它可能出了该函数就被系统释放了!!!