iOS_AFNetworking_AFNetworkReachabilityManager(检测网络可达性)

  • 说明 :

  • AFNetworkReachabilityManager,这个类监控当前网络的可达性,提供回调block和notificaiton,在可达性变化时调用

  • 文章中尽量不使用或少使用封装, 目的是让大家清楚为了实现功能所需要的官方核心API是哪些(如果使用封装, 会在封装外面加以注释)

  • 此文章由 @One_City编写, 经@春雨 @Scott 审核.若转载此文章, 请注明出处和作者

AFNetworkReachabilityManager使用方法

核心API

class : AFNetworkReachabilityManager
delegate : 无
涉及的API : (API的官方详细注释(英文)详见本章结尾)


/** 1. 初始化指定的可达性管理器的实例。 */
+ (instancetype)sharedManager

/** 2. 网络改变时,执行block块内的代码 */
- (void)setReachabilityStatusChangeBlock:(nullable void ( ^ ) ( AFNetworkReachabilityStatus status ))block 

功能实现

思路

  1. 导入AFNetworking工程文件.
  2. 引入AFNetworkReachabilityManager.h头文件.
  3. 设置延时调用
  4. 初始化单例并同时开启监听
  5. 实现网络监听方法, 返回当前网络的通知
(1). 导入AFNetworking工程文件
/** 本文使用的AFNetworking版本为AFNetworking_v2.5.1. */
(2). 引入AFNetworkReachabilityManager.h头文件

#import "AFNetworkReachabilityManager.h"

(3). 设置延时调用

/**
 * 由于检测网络有一定的延迟, 所以在启动APP的时候如果不设置网络的延迟, 直接调用[AFNetworkReachabilityManager sharedManager].networkReachabilityStatus有可能得到的是status 返回的值是 AFNetworkReachabilityStatusUnknown;
这个时候虽然有网, 但是也会因为网络的延迟, 直接做出错误的判断.
  一般建议设置延时调用 */

/** 给大家简单举个例子(surveyNetworkConcatenate:是自己写的方法) */

/** 0.35秒后再执行surveyNetworkConcat
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值