swift 监听网络变化

swift 监听网络变化,第1张

概述第一步,需要引入Reachability.swift文件 网上自行百度 在AppDelegate中使用 //判断当前网络是否可用 func appDelegateCheckNetWork(){ do { reachability = try Reachability.reachabilityForInternetC
第一步,需要引入Reachability.swift文件 网上自行百度
在AppDelegate中使用
//判断当前网络是否可用    func appDelegateCheckNetWork(){                        do {            reachability = try Reachability.reachabilityForInternetConnection()        } catch {            print("appDelegate:Unable to create Reachability")            return        }        if reachability.isReachable() {            print("appDelegate:网络连接:可用")            netWorkIsAvailable = true        } else {            print("appDelegate:网络连接:不可用")            netWorkIsAvailable = false        }                // 检测网络类型        if reachability.isReachableViaWiFi() {            print("appDelegate:网络类型:Wifi")        } else if reachability.isReachableViaWWAN() {            print("appDelegate:网络类型:移动网络")        } else {            print("appDelegate:网络类型:无网络连接")        }           }        //开启网络监听    func monitorNetWork(){               reachability = try Reachability.reachabilityForInternetConnection()                reachability.whenReachable = { reachability in                self.netWorkIsAvailable = true        // 判断网络状态及类型        print("网络可用")        }                // 网络不可用时执行        reachability.whenUnreachable = { reachability in        self.netWorkIsAvailable = false        // 判断网络状态及类型        print("网络不可用")        }                do {        // 开始监听        try reachability.startNotifIEr()        } catch {        print("AppDelegate:Unable to start notifIEr")        }                }       


方法二:vIEwController中调用

  /************************* 网络状态监听部分(开始) *************************/          /**     通过消息自动监听网络改变     添加消息监听     */        func NetworkStatusListener() {        // 1、设置网络状态消息监听        NSNotificationCenter.defaultCenter().addobserver(self,selector:"networkStatusChange",name: ReachabilityChangednotification,object: nil);                // 2、获得网络Reachability对象        // Reachability必须一直存在,所以需要设置为全局变量        conn = Reachability.reachabilityForInternetConnection()!;        // 3、开启网络状态消息监听        conn!.startNotifIEr();    }        func networkStatusChange() {        checkNetworkStatus();    }        /**     移除消息通知     */    deinit {        // 关闭网络状态消息监听        conn!.stopNotifIEr();        // 移除网络状态消息通知        NSNotificationCenter.defaultCenter().removeObserver(self);    }        /**     主动检测网络状态     */    func checkNetworkStatus() {        let reachability = Reachability.reachabilityForInternetConnection() // 准备获取网络连接信息                if reachability!.isReachable() { // 判断网络连接状态            print("网络连接:可用")            if reachability!.isReachableViaWiFi() { // 判断网络连接类型                print("连接类型:WiFi")            } else if reachability!.isReachableViaWWAN() {                print("连接类型:移动网络")            }        }else{            print("网络连接:不可用")            print("连接类型:没有网络连接")        }    }    /********************* 网络状态监听部分(结束) *************************/
</pre><p></p><pre name="code" >

监听网络变化参考:

http://blog.csdn.net/Json_vip/article/details/51754881

http://blog.csdn.net/zhang5690800/article/details/51995716

总结

以上是内存溢出为你收集整理的swift 监听网络变化全部内容,希望文章能够帮你解决swift 监听网络变化所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1070899.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存