首先用桥接或pods将AFNetworking导入项目,在这不再赘述,然后创建一个单例NetWorkTools.swift

继承:AFHTTPSessionManager

import UIKit
import AFNetworking //枚举定义请求方式
enum HTTPRequestType {
case GET
case POST
} class NetworkManager: AFHTTPSessionManager { //单例
static let shared = NetworkManager() /// 封装GET和POST 请求
///
/// - Parameters:
/// - requestType: 请求方式
/// - urlString: urlString
/// - parameters: 字典參数
/// - completion: 回调
func request(requestType: HTTPRequestType, urlString: String, parameters: [String: AnyObject]?, completion: @escaping (AnyObject?) -> ()) { //成功回调
let success = { (task: URLSessionDataTask, json: Any)->() in
completion(json as AnyObject?)
} //失败回调
let failure = { (task: URLSessionDataTask?, error: Error) -> () in
print("网络请求错误 \(error)")
completion(nil)
} if requestType == .GET {
get(urlString, parameters: parameters, progress: nil, success: success, failure: failure)
} else {
post(urlString, parameters: parameters, progress: nil, success: success, failure: failure)
}
}
}

调用的地方

NetworkManager.shared.request(requestType: .GET, urlString: "https:www.baidu.com", parameters: ["userName": "zhangsan" as AnyObject]) { (json) in
print(json)
}

最新文章

  1. AngularJS Scope(作用域)
  2. 建模前的数据清洗/ETL(python)
  3. linux块设备驱动之实例
  4. c++中关于初始化型参列表的一些问题
  5. ThreadLocal类学习笔记
  6. [LintCode] Roman to Integer 罗马数字转化成整数
  7. codeforce626C.Block Towers(二分)
  8. spring mvc 利用匿名内部类构建返回json对象
  9. HDU 5724 Chess (sg函数)
  10. WdatePicker 日历控件使用方法+基本常用方法
  11. 利用mvc filterconfig属性实现权限验证
  12. Spring(十二)Spring之事务
  13. 老男孩python学习之作业二---三级菜单
  14. MySQL Hardware--NUMA与MySQL
  15. gcc 执行过程
  16. TCP详解 (1)
  17. 【转】oracle 体系结构
  18. Windows自带的端口转发工具netsh使用方法_DOS/BAT
  19. git之回退
  20. python 下字符串格式时间比较

热门文章

  1. SQL的几种连接
  2. java反编译工具jad
  3. maven构建springmvc项目
  4. ubuntu14.04 RockMongo的配置
  5. Python旅途——函数(1)
  6. 【HIHOCODER 1048】 状态压缩·二
  7. 【HIHOCODER 1038】 01背包
  8. 【BZOJ 1084】 [SCOI2005]最大子矩阵(DP)
  9. POJ 2349 Arctic Network(贪心 最小生成树)
  10. 初识Web框架