• iOS开发——Reachability和AFNetworking判断网络连接状态


      一、Reachability
    // 监听网络状态改变的通知
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(networkStateChange) name:kReachabilityChangedNotification object:nil];
    
    // 创建Reachability
    self.conn = [Reachability reachabilityForInternetConnection];
    // 开始监控网络(一旦网络状态发生改变, 就会发出通知kReachabilityChangedNotification)
    [self.conn startNotifier];
    
    // 处理网络状态改变
    - (void)networkStateChange
    {
        // 1.检测wifi状态
        Reachability *wifi = [Reachability reachabilityForLocalWiFi];
        
        // 2.检测手机是否能上网络(WIFI3G2.5G)
        Reachability *conn = [Reachability reachabilityForInternetConnection];
        
        // 3.判断网络状态
        if ([wifi currentReachabilityStatus] != NotReachable) { 
         // 有wifi NSLog(@"有wifi"); } else if ([conn currentReachabilityStatus] != NotReachable) {
         // 没有使用wifi, 使用手机自带网络进行上网 NSLog(@"使用手机自带网络进行上网"); } else {
         // 没有网络 NSLog(@"没有网络"); } }

      二、AFNetworking // 1.获得网络监控的管理者 AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager]; // 2.设置网络状态改变后的处理 [manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
      // 当网络状态改变了, 就会调用这个block
      switch (status) {
        case AFNetworkReachabilityStatusUnknown:
          // 未知网络
          NSLog(@"未知网络");
          break;
        case AFNetworkReachabilityStatusNotReachable:
          // 没有网络(断网)
          NSLog(@"没有网络(断网)");
          break;
        case AFNetworkReachabilityStatusReachableViaWWAN:
          // 手机自带网络
          NSLog(@"手机自带网络");
          break;
        case AFNetworkReachabilityStatusReachableViaWiFi:
          // WIFI
          NSLog(@"WIFI");
          break;
      }
    }];

    // 3.开始监控
    [manager startMonitoring];
  • 相关阅读:
    asp.net mvc在Model中控制日期格式
    MVC3.0删除数据的时候给提示信息
    Jquery的鼠标移动上去显示div,鼠标离开的时候隐藏div效果
    数据库的日志数据库(_log.ldf)文件太大,如何压缩
    如何在加载数据的时候给一个等待动画
    Div内部的内容超出部分显示省略号(仅仅只有一行内容)
    IIS7.0提示---无法识别的属性“targetFramework”。请注意属性名称区分大小写。
    如何用Jquery判断在键盘上敲的哪个按键
    Split()的简单的用法
    oracle AWR报告
  • 原文地址:https://www.cnblogs.com/yyt-hehe-yyt/p/5288820.html
Copyright © 2020-2023  润新知