Swift 對AFN框架的封裝

2022-07-23 22:45:27 字數 1614 閱讀 9135

一.封裝afn的目的

二.封裝之前準備工作:

三.封裝afn的方式

四.封裝實現

第一種, 繼承nsobject封裝afn

實現**如下:

import uikit

import afnetworking

// 請求型別

*//// 對外提供的網路請求介面

////// - parameters:

/// - requesttype: 傳送請求的型別,是個列舉

/// - url: 請求路徑

/// - parameters: 請求引數,字典型別

/// - resultblock: 請求結果

func request(requesttype:requesttype,

url:string,

parameters:[string: any],

resultblock:@escaping (_ response: [string: any]?,_ error: string?) -> ())

// 請求失敗的閉包

let failuerblock =

// 傳送非同步 get請求

if requesttype == .get else if requesttype == .post}}

封裝時的注意點:1.單例:

因為上面的封裝使用的是物件方法,外界模組在使用我們這個工具類時每次都會建立乙個物件,來呼叫介面,然後他們並不會被釋放,所以為了保證整個記憶體裡面只存在乙個物件,要使用單例.

// static 保證記憶體中只有1份

// let 常量,不可以被改變

// 因為shareinstance這個屬性是依附於類(mtynetworking)的,所以只有乙份

static let shareinstance = mtynetworking()

2.懶載入請求管理者的兩種方式

3.為什麼使用閉包來傳值

第二種, 繼承afhttpsessionmanager封裝afn

**實現

import uikit

import afnetworking

// 請求型別

// 失敗的閉包

let failureblock =

// get 請求

if type == .get else if type == .post }}

如有錯誤之處,請指正!謝謝~

Swift之網路請求框架封裝

該篇文章內容大致都是說明內容,無 模組 在專案開發過程中,經常會使用到第三方的框架,最多的無非是網路請求框架 afn asi 還有使用swift寫的alamofire框架 如果將這些第三方框架的請求放置在controller中,在更換第三方框架時,整個框架都將在報錯。所以在開發過程中,要對第三方框架...

Swift版的網路請求封裝

吶,今天呢,和大家分享一下swift版的網路請求庫alamofire,相當於oc裡的afnetworking,用起來不要太爽哦!1.還是和往常一樣,cocoapods匯入第三方庫alamofire 2.建乙個管理類,繼承於nsobject 3.建立單例 private let netrequests...

對axios的封裝

axios封裝 請求攔截 相應攔截 錯誤統一處理 import axios from axios import qsfrom qs import from element ui import store from store index import router from router index...