zoukankan      html  css  js  c++  java
  • 网络状态检测

      完成项目的过程中,需要考虑用户是否有网络连接以及及时的检测网络状态,把用到的判断网络封装的方法分享给大家。

     

    (1)Reachability检测网络状态

    .h文件中定义方法...

    #import <Foundation/Foundation.h>

         #import "Reachability.h"

         @interface NetWork : NSObject

            +(BOOL)isNetWork;

         @end

     

        .m文件

        +(BOOL)isNetWork

    {

        //检测wifi状态

        Reachability * wifi = [Reachability reachabilityForLocalWiFi];

        //检测手机是否能上网

        Reachability * conn = [Reachability reachabilityForInternetConnection];

        //判断网络状态

        if ([wifi currentReachabilityStatus]!= NotReachable ||[conn currentReachabilityStatus] != NotReachable)

        {

            return YES;

        }

        else

        {

            return NO;

        }

    }

     

      

    (2)AFN检测网络 

     

    // 网络检测管理者

        AFNetworkReachabilityManager *manager=[AFNetworkReachabilityManager sharedManager];

        // 开始检测

        [manager startMonitoring];

        // 设置检测回调

        NSUserDefaults *userDefaults=[NSUserDefaults standardUserDefaults];

        [manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status)

         {

            switch (status)

            {

                case AFNetworkReachabilityStatusUnknown:

                    [userDefaults setBool:YES forKey:@"isNetWork"];

                    [userDefaults synchronize];

                    if (status==AFNetworkReachabilityStatusUnknown)

                    {

                        UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"提醒" message:@"无网络,请联网" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"确定", nil];

                        [alertView show];

                        return ;

                    }

                    else

                    {

     

                    }

                    break;

                    default:

                    break;

            }

        }];

     

  • 相关阅读:
    那些创业的艰辛整理
    一个成功的研发团队应具备的9大属性
    如何将 Linux 系统转移至 LVM 卷
    如何在 Linux 上永久挂载一个 Windows 共享
    怎样在 Chromebook 上安装 Linux 系统?
    1087 有多少不同的值 (20 分)C语言
    1052 卖个萌 (20 分)C语言
    1064 朋友数 (20 分)C语言
    1045 快速排序 (25 分)C语言
    1048 数字加密 (20 分)C语言
  • 原文地址:https://www.cnblogs.com/MasterPeng/p/5316111.html
Copyright © 2011-2022 走看看