zoukankan      html  css  js  c++  java
  • 利用Reachability实现网络状态监听

    时刻检查设备的联网状态,并作出相应的处理,基本上是所有的联网程序需要考虑的问题,以前自己写个NSTimer 每多少卖哦循环一次,后来觉得这个思维有些不爽,就直接用Reachability来实现了

    首先考虑要在每一个类都能用这个网络的判定结果,可以用一个单例写,怕麻烦的话 直接写在 AppDelegate也行。

    .h的操作

    @property (strong,nonatomic)Reachability *reachiability;

    @property (assign,nonatomic)BOOL isReachable;//是否可用

    @property (assign,nonatomic)NetworkStatus status;//判定状态用的

    .m里

     //开启网络状况的监听

        [[NSNotificationCenterdefaultCenter] addObserver:selfselector:@selector(reachabilityChanged:) name:kReachabilityChangedNotificationobject:nil];

        self.reachiability = [ReachabilityreachabilityWithHostname:@"www.baidu.com"];

        [self.reachiability startNotifier];  //开始监听,会启动一个run loop

    OK 剩下的就是实现reachabilityChanged:这个带有参数的方法了

    //网络链接改变时会调用的方法

    -(void)reachabilityChanged:(NSNotification *)note

    {

        Reachability *currReach = [note object];

        NSParameterAssert([currReach isKindOfClass:[Reachability class]]);

        //对连接改变做出响应处理动作

        self.status = [currReach currentReachabilityStatus];

        //如果没有连接到网络就弹出提醒实况

        self.isReachable = YES;

        switch (self.status) {

            case NotReachable:

            {

              //各种操作

                self.isReachable = NO;

            }

                break;

            caseReachableViaWiFi:

            {

              //各种操作

              self.isReachable = YES;

            }

                break;

            caseReachableViaWWAN:

            {

                //各种操作

                self.isReachable = YES;

            }

                break;

            default:

                break;

        }

    }

    在其他类里就可以用了~ 想判断是否有网络可以用 isReachable  想判断是什么网络可以用status~~

  • 相关阅读:
    maven下载出错
    Android中TextView和EditView常用属性设置
    在python3.6环境下使用cxfreeze打包程序
    Python安装环境配置和多版本共存
    python manage.py migrate出错
    python使用pip安装模块出错 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None))
    类的继承
    显示一张大图两张小图思路!banner数据库设计
    微信模板
    微擎小程序第二次请求 promise
  • 原文地址:https://www.cnblogs.com/superhappy/p/3039682.html
Copyright © 2011-2022 走看看