網路庫Alamofire使用方法

2022-07-23 05:09:11 字數 3153 閱讀 3042

github位址

由於alamofire是swift網路庫,所以,以下的所有介紹均基於swift專案

以下為使用cocoapods匯入,其餘的方式請參考官網

source ''

platform :ios, '10.0'

use_frameworks! # 這句一定不要忘了

target '' do

pod 'alamofire', '~> 4.5'

end

將alamofire匯入到專案中之後,在所需要用到的地方使用以下方式匯入

import alamofire
/// 請求的url,需要遵循urlconvertible協議,字串即可

let requesturl = ""

/**網路請求可以選擇的方式:

/// 請求的引數,[string: any]型別的資料,可以為nil

let requestparameters: parameters? = nil

/**引數的編碼方式

/// 請求的headers,[string: string]型別,可以為nil

/// 建立乙個資料請求物件

let datarequest = request(requesturl, method: requestmethod, parameters: requestparameters, encoding: requestencoding, headers: requestheaders)

/// 取消網路請求

datarequest.cancel()

/// 暫停網路請求

datarequest.suspend()

/// 重新開始網路請求

datarequest.resume()

/// 返回值為json格式

datarequest.responsejson

/// 返回的資料為json格式。在指定的執行緒中進行請求,並且指定資料解析時的選項

datarequest.responsejson(queue: dispatchqueue.main, options: .mutablecontainers)

/// 返回值為data格式

datarequest.responsedata

/// 返回值為data格式。在指定的執行緒中進行請求

datarequest.responsedata(queue: dispatchqueue.main)

/// 返回值為string格式

datarequest.responsestring

/// 返回值為string格式。在指定的執行緒中進行請求,並且指定字串的編碼格式

datarequest.responsestring(queue: dispatchqueue.main, encoding: string.encoding.utf8)

/// 建立網路狀態管理物件

let reachabilitymanager = networkreachabilitymanager.init()

/// 獲取網路是否正常

let isreachable = reachabilitymanager?.isreachable

/// 獲取流動網路是否正常

let isreachableonwwan = reachabilitymanager?.isreachableonwwan

/// 獲取wifi是否正常

let isreachableonethernetorwifi = reachabilitymanager?.isreachableonethernetorwifi

/// 設定網路監聽所在的執行緒

reachabilitymanager?.listenerqueue = dispatchqueue.main

/// 網路狀態發生改變時的閉包**

reachabilitymanager?.listener =

/// 啟動網路狀態的監聽

reachabilitymanager?.startlistening()

/// 停止網路狀態的監聽

reachabilitymanager?.stoplistening()

/// 當請求被取消時會傳送這個通知

notificationcenter.default.addobserver(self, selector: #selector(didcancel), name: nsnotification.name.task.didcancel, object: nil)

/// 當請求完成是會傳送這個通知

notificationcenter.default.addobserver(self, selector: #selector(didcomplete), name: nsnotification.name.task.didcomplete, object: nil)

/// 當請求繼續或者重新開始的時候會傳送這個通知

notificationcenter.default.addobserver(self, selector: #selector(didresume), name: nsnotification.name.task.didresume, object: nil)

/// 當請求被暫停時會傳送這個通知

notificationcenter.default.addobserver(self, selector: #selector(didsuspend), name: nsnotification.name.task.didsuspend, object: nil)

Alamofire請求網路

http get和post請求 如果要傳遞大量資料,比如檔案上傳,只能用post請求 get的安全性比post要差些,如果包含機密 敏感資訊,建議用post 如果僅僅是索取資料 資料查詢 建議用get 如果是增加 修改 刪除資料,建議使用post ios中的http nsurlconnection ...

iOS 使用 Alamofire 實時監測網路狀況

最近在用swift寫工程,網路請求用的是alamofire,在翻看這個庫的時候發現 networkreachabilitymanager 可以進行網路監察,廢話不多說直接上 吧,有興趣的朋友可以去深入研究 let manager networkreachabilitymanager host man...

iOS常用第三方庫 Alamofire

強大的swift網路訪問庫,師承afnetworking,實現簡介,有強大的管理庫,對cookie,session支援好,通過manager定製訪問。根據cookie名稱得到相應cookiefunc getcookiearray nshttpcookie 清空所有cookiefunc deletal...