zoukankan      html  css  js  c++  java
  • Reachability

    一、Reachability中介绍了取得/检测网络状态的方法。

    二、使用

        1、添加源文件:Reachability.h和Reachability.m

        2、添加framework———SystemConfiguration.framework

    三、网络状态

        Reachability.h定义了三中网络状态

     typedef enum{
    
            NotReachable = 0,   //无连接
    
            ReachableViaWiFi,   //使用3G/GPRS网络
    
            ReachableViaWWAN   //使用WiFi网络
    
            }NetworkStatus;

     

    因此可以这样检查网络状态

     

    Reachability *r = [Reachability reachabilityWithHostName:@“www.apple.com”];
    
    switch([r currentReachabilityStatus])
    
    {
    
        case NotReachable:    //没有网络连接
    
           breakcase ReachableViaWWAN:  //使用3G网络连接
    
            break;
    
        case ReachableViaWiFi:    //使用WiFi网络
    
            break;
    
    }

    四、检查当前网络环境

      // 是否wifi

        + (BOOL) IsEnableWIFI {
            return ([[Reachability reachabilityForLocalWiFi] currentReachabilityStatus] != NotReachable);
        }



        // 是否3G
       

      + (BOOL) IsEnable3G {
            return ([[Reachability reachabilityForInternetConnection] currentReachabilityStatus] != NotReachable);
        }


        例子:

        - (void)viewWillAppear:(BOOL)animated {    
        if (([Reachability reachabilityForInternetConnection].currentReachabilityStatus == NotReachable) && 
                ([Reachability reachabilityForLocalWiFi].currentReachabilityStatus == NotReachable)) {
                self.navigationItem.hidesBackButton = YES;
                [self.navigationItem setLeftBarButtonItem:nil animated:NO];
            }
        }

     

  • 相关阅读:
    《大话设计模式》读书笔记
    设计模式个人笔记
    多线程的单元测试工具
    设计模式六大原则
    时间复杂度和空间复杂度(转)
    排序算法笔记
    《人月神话》读书笔记
    微信公众号开发踩坑记录(二)
    微信公众号开发踩坑记录
    全栈工程师之路
  • 原文地址:https://www.cnblogs.com/zhanggui/p/4503257.html
Copyright © 2011-2022 走看看