您的位置:首页 > 理论基础 > 计算机网络

swift3.0项目中使用AFN网络请求

2016-12-09 10:19 288 查看
//使用方法

let parameters = ["key1" :1, "key2" :2]
WBNetwork.shareInstance.request(requestType: .GET, url:port1, params: parameters, success: {(responseObj)in
print(responseObj!)
if responseObj?["code"]as? Int ==0 {

}
}) {(error) in print(error!) }

//工具类

import UIKit
enum RequestType {
case GET
case POST
}
class WBNetwork: AFHTTPSessionManager {

staticlet shareInstance : WBNetwork = {
let tool =WBNetwork()
tool.responseSerializer.acceptableContentTypes?.insert("text/html")
//tool.responseSerializer.acceptableContentTypes?.insert("text/html" as AnyHashable)
return tool
}()

func request(requestType:RequestType, url : String, params: [String :Any], success: @escaping([String :Any]?) ->(),failure: @escaping( _ error :Error?) -> ()){

//成功
let successBlock = { (task:URLSessionDataTask, responseObj:Any?) in
success(responseObj as? [String :Any])
}

//失败
let failureBlock = {(task :URLSessionDataTask?,error:Error)in
failure(error)
}

//GET
if requestType == .GET {
get(url, parameters: params, progress: nil, success: successBlock, failure: failureBlock)
//get(url, parameters: params, success: successBlock, failure: failureBlock)
}

//POST
if requestType == .POST {
post(url, parameters: params, progress: nil, success: successBlock, failure: failureBlock)
//post(url, parameters: params, success: successBlock, failure: failureBlock)
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐