为有牺牲多壮志,敢教日月换新天。

[Swift通天遁地]四、网络和线程-(6)检测网络连接状态

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(shanqingyongzhi)
➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:https://www.cnblogs.com/strengthen/p/10222487.html 
➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

热烈欢迎,请直接点击!!!

进入博主App Store主页,下载使用各个作品!!!

注:博主将坚持每月上线一个新app!!!

目录:[Swift]通天遁地Swift

本文将演示如何使用AlamofireReachbility快速检测网络连接状态。

首先确保在项目中已经安装了所需的第三方库。

点击【Podfile】,查看安装配置文件。

1 source 'https://github.com/CocoaPods/Specs.git'
2 platform :ios, '12.0'
3 use_frameworks!
4 
5 target ‘DemoApp’ do
6     pod 'Alamofire', '~> 4.0'
7 end

根据配置文件中的相关配置,安装第三方库。

然后点击打开【DemoApp.xcworkspace】项目文件。

在项目导航区,打开视图控制器的代码文件【ViewController.swift】

现在开始编写代码,实现网络网络检测连接状态功能。

 1 import UIKit
 2 //在当前的类文件中,引入已经安装的第三方类库
 3 import Alamofire
 4 
 5 class ViewController: UIViewController {
 6 
 7     override func viewDidLoad() {
 8         super.viewDidLoad()
 9         // Do any additional setup after loading the view, typically from a nib.
10         
11         //初始化一个网络连接状态管理器,并设置检测的目标网址。
12         let manager = NetworkReachabilityManager(host: "www.apple.com")
13         //调用管理对象的开始监听方法,开始检测目标网址的可连接性
14         manager?.startListening()
15         
16         //通过一个代码块,来处理监听的结果
17         manager?.listener = { status in
18             
19             //在控制台输出:网络的状态
20             print(">>>>> Network Status Changed: \(status)")
21             //在控制台输出:网络状态管理器对象的可访问性
22             print("isReachable:\(manager?.isReachable)")
23             //在控制台输出:是否可以通过无线广域网访问目标网址
24             print("isReachableOnWWAN:\(manager?.isReachableOnWWAN)")
25             //在控制台输出:是否可以通过无线局域网访问目标网址
26             print("isReachableOnEthernetOrWiFi\(manager?.isReachableOnEthernetOrWiFi)")
27             //在控制台输出:输出网络的访问状态
28             print("networkReachabilityStatus:\(manager?.networkReachabilityStatus)")
29             
30             //停止对网络状态的监听
31             manager?.stopListening()
32         }
33     }
34 
35     override func didReceiveMemoryWarning() {
36         super.didReceiveMemoryWarning()
37         // Dispose of any resources that can be recreated.
38     }
39 }

 

posted @ 2019-01-04 21:03  为敢技术  阅读(236)  评论(0编辑  收藏  举报