亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Swift > 正文

Swift利用AFN實現封裝網絡請求詳解

2020-03-09 17:43:54
字體:
來源:轉載
供稿:網友

前言

相信大家都知道,我們一般在一個項目中,網絡請求都封裝成一個單例,以確保整個項目的網絡請求 Session 是同一個.

單例模式定義:一個類有且僅有一個實例,并且自行實例化向整個系統提供,下面話不多說了,來一起看看詳細的介紹吧。

通過cocoaPods 導入第三方框架

01-切換到項目目錄

cd 項目名稱

02-初始化Pods

pod init

03-打開 Pods 文件

open Podfile

04-編輯 Podfile

# 設置支持最低平臺platform :ios, '8.0'target 'TestSwiftMixAFN' do # 如果是Swift項目,需添加"use_frameworks!" use_frameworks!pod "AFNetworking"end

05-安裝 Pods

pod install

封裝AFN網絡請求工具

1 創建一個工具類, 繼承自 AFHTTPSessionManager

import AFNetworkingclass XMSessionManager: AFHTTPSessionManager { // ...}

2 通過單例創建一個AFHTTPSessionManager 實例

/// 創建網絡請求單例static let shared: XMSessionManager = XMSessionManager()----------------------------------------------------------------/// 如果需要設置請求的屬性,可在閉包中添加/// 在第一次訪問時,執行閉包,并且將結果保存在 shared 常量中 static let shared1: XMSessionManager = {  // 實例化對象  let manager = XMSessionManager()  // 設置響應反序列化支持的數據類型  manager.responseSerializer.acceptableContentTypes?.insert("text/plain")  // 返回對象  return manager }()

3 通過枚舉, 添加HTTP請求方法(GET/POST)

/// 枚舉-請求方法////// - GET: GET/// - POST: POSTenum XMHTTPMethod { case GET case POST}

4 自定義網絡請求方法,通過閉包回調請求完成后的數據

/// 封裝網絡請求方法 /// /// - Parameters: /// - Method: GET/POST, 默認是GET請求 /// - URLString: 請求地址 /// - parameters: 參數 /// - completed: 結束回調 func request(Method:XMHTTPMethod = .GET, URLString: String,parameters: [String: AnyObject]?, completed:@escaping ((_ json: AnyObject?, _ isSuccess: Bool)->())) {  /// 定義成功回調閉包  let success = { (task: URLSessionDataTask,json: Any?)->() in   completed(json as AnyObject?,true)  }  /// 定義失敗回調閉包  let failure = {(task: URLSessionDataTask?, error: Error)->() in   completed(nil,false)  }  /// 通過請求方法,執行不同的請求  // 如果是 GET 請求  if Method == .GET { // GET   get(URLString, parameters: parameters, progress: nil, success: success, failure: failure)  } else { // POST   post(URLString, parameters: parameters, progress: nil, success: success, failure: failure)  } }

5 網絡請求工具的使用

///GET 請求  XMSessionManager.shared.request(URLString: "http:xxx", parameters: nil, completed:{(json: AnyObject?,isSuccess: Bool)-> () in   // 請求成功   if isSuccess {    print(json ?? "")   } else {    print("請求失敗")   }  })///POST 請求  XMSessionManager.shared.request(URLString: "www.xxx.xxx", parameters: ["key":"value" as AnyObject], completed:{(json: AnyObject?,isSuccess: Bool)-> () in   // 請求成功   if isSuccess {    print(json ?? "")   } else {    print("請求失敗")   }  })

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到swift教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欲色天天网综合久久| 国产精品久久9| 亚洲精品国产电影| 欧美性视频在线| 亚洲美女免费精品视频在线观看| 久久久久久久色| 久久久久久国产| 一区国产精品视频| 国产精品jvid在线观看蜜臀| 国产欧美一区二区三区在线| 亚洲成人网久久久| 欧美日韩国产中文精品字幕自在自线| 亚洲一区二区三区在线视频| 日韩电影中文字幕一区| 日韩高清免费观看| 91精品国产综合久久久久久蜜臀| 国内精品模特av私拍在线观看| 欧美午夜影院在线视频| 日韩av电影手机在线| 一区二区福利视频| 色偷偷噜噜噜亚洲男人| 亚洲欧美国产精品久久久久久久| 国产精品丝袜视频| 欧美一区二粉嫩精品国产一线天| 欧美孕妇与黑人孕交| 国产亚洲欧美日韩一区二区| 免费97视频在线精品国自产拍| 日韩av一区在线观看| 黑人精品xxx一区| 91久久精品日日躁夜夜躁国产| 91久久久久久久久| 国产一区二区日韩精品欧美精品| 久久久久久国产精品美女| 欧美区二区三区| 欧美日韩国产成人| 日本一区二三区好的精华液| 欧美在线性爱视频| 欧美中文在线观看国产| 久久视频在线看| 成人国产在线视频| 色妞久久福利网| 亚洲精品一区二区网址| 国产精品成人观看视频国产奇米| 国产精品视频导航| 6080yy精品一区二区三区| 精品国产乱码久久久久久天美| 国产69精品久久久久9| 日韩视频精品在线| 欧美性一区二区三区| 亚洲色图第三页| 欧美肥婆姓交大片| 亚洲精品美女视频| 亚洲视屏在线播放| 日韩免费观看在线观看| 日本午夜在线亚洲.国产| 91久久久久久国产精品| 国产成人av网| 亚洲精品成人网| 国内揄拍国内精品少妇国语| 精品久久久久久久中文字幕| 亚洲国产精品一区二区久| 色婷婷综合成人| 国产精品第七影院| 国产精品视频最多的网站| 欧美理论片在线观看| 亚洲欧美国产一区二区三区| 91精品视频观看| 欧美电影第一页| 国产精品第8页| 91亚洲精品视频| 亚洲成人999| 伦伦影院午夜日韩欧美限制| 久久精品成人欧美大片| 国产不卡精品视男人的天堂| 欧美成人高清视频| 亚洲午夜av久久乱码| 91精品综合久久久久久五月天| 国产成人亚洲综合91| 中文字幕亚洲精品| 久久精品国产v日韩v亚洲| 亚洲人精品午夜在线观看| 日韩av不卡电影| 欧美裸体男粗大视频在线观看| 日本精品一区二区三区在线播放视频| 懂色av中文一区二区三区天美| 久久免费成人精品视频| 中文字幕亚洲欧美日韩高清| 日韩精品在线第一页| 98精品在线视频| 亚洲美女av在线播放| 日韩中文字幕在线播放| 欧美日韩国产一区在线| 欧美福利视频在线| 美女福利精品视频| 成人有码视频在线播放| 欧美高清一级大片| 久久97精品久久久久久久不卡| 黑人与娇小精品av专区| 国产精品一区二区三区久久久| 国产亚洲成精品久久| 日韩资源在线观看| 精品免费在线视频| 国产精品成人免费电影| 久久久久国产精品免费网站| 国产亚洲精品久久久| 日韩免费观看网站| 日韩欧美在线免费| 日韩日本欧美亚洲| 97人洗澡人人免费公开视频碰碰碰| 欧美日韩第一视频| 久久成人人人人精品欧| 国产啪精品视频| 欧美极品少妇xxxxⅹ免费视频| 浅井舞香一区二区| 亚洲人午夜精品| 亚洲精品97久久| 亚洲国产精品久久久久久| 国产精品扒开腿做爽爽爽的视频| 91精品视频在线| 亚洲一区二区日本| 欧美一级黄色网| 久久久久久香蕉网| 欧美日韩xxxxx| 久久久久久久爱| 亚洲第一男人av| 午夜精品一区二区三区在线视| 日韩高清免费在线| 亚洲尤物视频网| 精品五月天久久| 欧美一级电影久久| 日韩精品视频中文在线观看| 国产精品日韩精品| 中文字幕亚洲综合| 91人人爽人人爽人人精88v| 欧美成人午夜影院| 欧美裸体xxxx极品少妇软件| 国产精品美女999| 精品成人乱色一区二区| 爽爽爽爽爽爽爽成人免费观看| 国产亚洲精品一区二555| 久久综合伊人77777蜜臀| 91精品国产一区| 成人妇女免费播放久久久| 精品久久久一区二区| 黄色一区二区在线观看| 亚洲男人av电影| 色悠悠国产精品| 97在线视频免费看| 成人精品久久av网站| 欧美日韩在线视频一区| 91久久国产综合久久91精品网站| 亚洲精品资源美女情侣酒店| 91天堂在线视频| 粉嫩av一区二区三区免费野| 亚洲图片制服诱惑| 亚洲乱码一区av黑人高潮| 欧美精品久久久久久久久久| 美女扒开尿口让男人操亚洲视频网站| 国产丝袜高跟一区| 992tv在线成人免费观看| 国产精品女主播视频| 国产精品无av码在线观看| 成人网欧美在线视频| 伊人伊成久久人综合网小说|