首页 > 代码库 > iOS开发之监听网络连接,改变,断开
iOS开发之监听网络连接,改变,断开
做iOS开发时,我们需要监控/监听网络状况,苹果提供了Reachability.h, Reachability.m。
导入Reachability.h
我们可以在 MainViewController的viewDidLoad方法内部写上:
[self checkReachability];
之后,具体方法如下
#pragma mark #pragma mark Reachability Methods #pragma mark - (void)checkReachability { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotification object:nil]; self.reachability = [Reachability reachabilityForInternetConnection]; [self.reachability startNotifier]; [self updateInterfaceWithReachability:self.reachability]; } /*! * Called by Reachability whenever status changes. */ - (void) reachabilityChanged:(NSNotification *)note { Reachability* curReach = [note object]; NSParameterAssert([curReach isKindOfClass:[Reachability class]]); [self updateInterfaceWithReachability:curReach]; } - (void)updateInterfaceWithReachability:(Reachability *)reachability { NetworkStatus status = [reachability currentReachabilityStatus]; AppDelegate *appDelegate = ((AppDelegate *) [[UIApplication sharedApplication] delegate]); if(status == NotReachable) { //No internet NSLog(@"No Internet"); appDelegate.isNetworkReachable = NO; [_reachabilityImage setImage:[UIImage imageNamed:@"stop-32.png"]]; } else if (status == ReachableViaWiFi) { //WiFi NSLog(@"Reachable WIFI"); appDelegate.isNetworkReachable = YES; [_reachabilityImage setImage:[UIImage imageNamed:@"Airport.png"]]; } else if (status == ReachableViaWWAN) { //3G NSLog(@"Reachable 3G"); appDelegate.isNetworkReachable = YES; [_reachabilityImage setImage:[UIImage imageNamed:@"WWAN5.png"]]; } }
iOS开发之监听网络连接,改变,断开
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。