美文网首页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