检测网络状态的代码,使用block的形式:
Reachability * reach = [Reachability reachabilityWithHostname:@"www.google.com"]; reach.reachableBlock = ^(Reachability * reachability) { dispatch_async(dispatch_get_main_queue(), ^{ blockLabel.text = @"Block Says Reachable"; }); }; reach.unreachableBlock = ^(Reachability * reachability) { dispatch_async(dispatch_get_main_queue(), ^{ blockLabel.text = @"Block Says Unreachable"; }); }; [reach startNotifier];
使用通知的形式:
- (void)viewDidLoad { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotification object:nil]; } -(void)reachabilityChanged:(NSNotification*)note { Reachability * reach = [note object]; if([reach isReachable]) { notificationLabel.text = @"Notification Says Reachable"; } else { notificationLabel.text = @"Notification Says Unreachable"; } }
相关推荐
Reachability的概念源于Apple的开发者库,它提供了一种方法来检测iOS和macOS设备的网络状态变化,包括Wi-Fi、蜂窝数据以及是否连接到网络。 Reachability的实现主要依赖于系统提供的网络配置框架(System ...
5. 当不再需要检测网络状态时,记得停止通知并释放Reachability对象: ```swift [reach stopNotifier]; [[NSNotificationCenter defaultCenter] removeObserver:self name:kReachabilityChangedNotification object:...
在iOS开发中,网络状态检测是一项非常重要的任务,它能够帮助开发者实时了解设备的网络连接情况,以便在必要时提供相应的用户体验。Reachability是Apple官方提供的一个库,用于监测网络可达性,它允许应用程序判断...
很实用,很受欢迎的开源ios 网络监测类
如果你想在iOS程序中提供一仅在wifi网络下使用(Reeder),或者在没有网络状态下提供离线模式(Evernote)。那么你会使用到Reachability来实现网络检测。 写本文的目的 了解Reachability都能做什么 检测3中网络...
(1)、使用苹果观法提供的检测iOS设备网络环境用的库 Reachablity (2)、使用AFN框架中的AFNetworkReachabilityManager来监听网络状态的改变 一、苹果官方提供了一个叫Reachability的