看著視頻敲swift,人家封裝了一個AFN的方法邮旷,我跟著封裝黄选,結果出錯了,原因我目前還不知道婶肩,不過我改了下終于改對了办陷,現(xiàn)在貼出來,以后可以自己用律歼,下面是代碼:
import UIKit
import AFNetworking
enum WBHTTPMethod {
case GET
case Post
}
/// 網(wǎng)絡管理工具
///單例
class WBNetworkManger: AFHTTPSessionManager {
/// 靜態(tài)區(qū)/常量/閉包/在第一次訪問時民镜,執(zhí)行閉包,并且將結果保存在shared常量中
static let shared = WBNetworkManger()
func request(method:WBHTTPMethod = .GET,URLString:String,parameters:[String:AnyObject],completion:@escaping (_ json:AnyObject?,_ isSucess:Bool)->()) {
//成功回調
let sucess = { (task: URLSessionDataTask, json: Any?) in
completion((json as? [String: Any])! as AnyObject, true)
// print(json)
}
//失敗回調
let failure = { (task: URLSessionDataTask?, error:Error) in
print("網(wǎng)絡請求 \(error)")
completion(nil, false)
}
if method == .GET {
get(URLString, parameters: parameters, progress: nil, success: sucess, failure: failure)
}else {
post(URLString, parameters: parameters, progress: nil, success: sucess, failure: failure)
}
}
}
這個里面使用單例進行的封裝险毁,相比而言swift的單例比OC的要好寫的多制圈,然后request
這個函數(shù)中我是默認給了GET
的請求方法。我再說說我之前改了哪里畔况,就是把sucess
里面的json
的類型改為了Any?
鲸鹦,期初寫的是AnyObject
,然后再下面的if
語句中寫的時候跷跪,你要穿sucess
的時候亥鬓,會報錯,提示你加入一大串我不理解的東西域庇,加入后不報錯,但是就是請求不到數(shù)據(jù)了覆积,控制臺輸入的是這樣的:
如圖听皿,顯示的
baseURL
是空,原因我不知道宽档,等我明白了尉姨,我在練練解釋解釋!