Alamofire_NetworkReachabilityManager.Swift

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调用

Alamofire_NetworkReachabilityManager.Swift_第1张图片

AppDelegate全局属性调用.

Alamofire_NetworkReachabilityManager.Swift_第2张图片

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

Alamofire_NetworkReachabilityManager.Swift_第3张图片

持续更新

你可能感兴趣的:(Alamofire_NetworkReachabilityManager.Swift)