目錄:[Swift]Xcode實際操做html
本文將演示如何使用Reachability網絡狀態檢測庫,檢測設備的網絡鏈接狀態。git
須要下載一個開源的類庫:【ashleymills/Reachability.swift】github
這是一個用來檢測設備網絡狀態的庫。swift
支持自動引用計數,而且使用閉包的方式,來通知網絡狀態的變化。網絡
【Clone or download】下載類庫。閉包
將【Sources】->【Reachability.swift】文件拖入到項目中,只須要添加這個文件便可。async
->【Finish】將文件導入到項目中。ide
在項目導航區,打開視圖控制器的代碼文件【ViewController.swift】post
1 import UIKit 2 3 class ViewController: UIViewController { 4 5 //給當前的視圖控制器添加一個網絡監測屬性 6 var reachability : Reachability! 7 override func viewDidLoad() { 8 super.viewDidLoad() 9 // Do any additional setup after loading the view, typically from a nib. 10 11 //對網絡監測屬性進行初始化 12 reachability = Reachability() 13 14 //調用網絡監測方法,判斷當前設備的網絡環境 15 reachability.whenReachable = { reachability in 16 //得到網絡狀態以後返回主線程進行響應 17 DispatchQueue.main.async 18 { 19 //若是當前的網絡環境,是經過無線網絡鏈接 20 if reachability.connection == .wifi 21 { 22 //則在控制檯打印輸出日誌 23 print("Reachable via WiFi") 24 } 25 else 26 { 27 //若是當前的網絡環境是蜂窩移動網絡 28 //則在控制檯打印輸出相關日誌 29 print("Reachable via Cellular") 30 } 31 } 32 } 33 34 //處理網絡沒法鏈接的狀況。 35 reachability.whenUnreachable = { reachability in 36 //若是設備無網絡鏈接 37 DispatchQueue.main.async 38 { 39 //則在控制檯打印輸出相關日誌 40 print("Not reachable") 41 } 42 } 43 44 //建立一個異常捕捉語句 45 do 46 { 47 //調用網絡檢測對象的開始檢測方法, 48 //開始檢測網絡的狀態 49 try reachability.startNotifier() 50 } 51 catch 52 { 53 print("Unable to start notifier") 54 } 55 } 56 57 //在視圖控制器類的析構方法中 58 deinit 59 { 60 //中止網絡狀態的檢測 61 reachability.stopNotifier() 62 } 63 64 override func didReceiveMemoryWarning() { 65 super.didReceiveMemoryWarning() 66 // Dispose of any resources that can be recreated. 67 } 68 }