美文网首页iOS查漏补缺
Alamofire_NetworkReachabilityMan

Alamofire_NetworkReachabilityMan

作者: 孟文 | 来源:发表于2017-05-27 15:50 被阅读0次

NetworkReachabilityManager 

对SystemConfiguration.framework中的SCNetworkReachability相关的东西进行封装的,主要用来管理和监听网络状态的变化

properties:

public var isReachable: Bool    

当前网络是可达的,要么是蜂窝网络,要么是WiFi连接

public var isReachableOnWWAN: Bool

表明当前网络是通过蜂窝网络连接

public var isReachableOnEthernetOrWiFi: Bool

表明当前网络是通过WiFi连接

public var networkReachabilityStatus: NetworkReachabilityStatus

返回当前的网络状态,这也是上边3个判断的基础

public var listenerQueue: DispatchQueue

监听listener在那个队列中调用,默认的是主队列

public var listener: Listener?

监听闭包,当网络状态发生变化时会调用

private var flags: SCNetworkReachabilityFlags?

主要目的是获取flags,在上边我们介绍过,网络状态就是根据flags判断出来的是通过下边的方法获取到的:

private let reachability: SCNetworkReachability

必不可少的对象,有了它才能获取flags

private var previousFlags: SCNetworkReachabilityFlags

用于记录当前的flags,在收到系统的callBack方法后,通过比较现在的flags和previousFlags来判断是不是要调用listener函数

init 初始化

public convenience init?(host: String) 

通过指定的host

public convenience init?()

默认0.0.0.0初始化

private init(reachability: SCNetworkReachability)

通过指定SCNetworkReachability

开启监听

public func startListening() -> Bool

关闭监听

public func stopListening()   

很少情况下需要关闭监听..........

example

自己封装的一个类,AppDelegate调用

AppDelegate全局属性调用.

任何类都可以手动调用.判断当前网络状态.

持续更新

相关文章

网友评论

    本文标题:Alamofire_NetworkReachabilityMan

    本文链接:https://www.haomeiwen.com/subject/ypoaxxtx.html