★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公衆號:山青詠芝(shanqingyongzhi)
➤博客園地址:山青詠芝(https://www.cnblogs.com/strengthen/)
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:http://www.javashuo.com/article/p-fzcjwbwx-kv.html
➤若是連接不是山青詠芝的博客園地址,則多是爬取做者的文章。
➤原文已修改更新!強烈建議點擊原文地址閱讀!支持做者!支持原創!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★html
目錄:[Swift]通天遁地Swiftios
本文將演示如何使用Alamofire驗證請求結果和可訪問性。git
首先確保在項目中已經安裝了所需的第三方庫。github
點擊【Podfile】,查看安裝配置文件。json
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
根據配置文件中的相關配置,安裝第三方庫。swift
而後點擊打開【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 //檢測接口的狀態 13 manualValidation() 14 15 //更快捷的方式檢測接口的狀態 16 automaticValidation() 17 } 18 19 //添加一個方法,用來檢測接口的狀態 20 func manualValidation() 21 { 22 //調用網絡操做庫的網絡請求方法 23 Alamofire.request("https://httpbin.org/get") 24 //添加驗證方法 25 //檢測狀態的編碼是否在200至300之間 26 .validate(statusCode: 200..<300) 27 //檢測類型是否爲JSON類型 28 .validate(contentType: ["application/json"]) 29 //處理網絡返回的數據 30 .responseData { response in 31 //根據網絡返回對象的結果,在控制檯輸出不一樣的日誌。 32 switch response.result { 33 //檢測成功 34 case .success: 35 print("---Validation Successful") 36 //檢測失敗 37 case .failure(let error): 38 //輸出詳細的錯誤信息 39 print(error) 40 } 41 } 42 } 43 44 //添加一個方法,使用更快捷的方式檢測接口的各個狀態 45 func automaticValidation() 46 { 47 //直接檢測接口的可鏈接性。 48 //調用網絡操做庫的網絡請求方法,並處理從服務器返回的JSON數據。 49 Alamofire.request("https://httpbin.org/get").validate().responseJSON { response in 50 //對網絡返回的結果進行處理 51 //根據網絡返回對象的結果,在控制檯輸出不一樣的日誌 52 switch response.result { 53 //檢測成功 54 case .success: 55 print("---Validation Successful") 56 //檢測失敗 57 case .failure(let error): 58 //輸出詳細的錯誤信息 59 print(error) 60 } 61 } 62 } 63 64 override func didReceiveMemoryWarning() { 65 super.didReceiveMemoryWarning() 66 // Dispose of any resources that can be recreated. 67 } 68 }