AFNetworking配合Swift3.0请求数据
2024-09-08 04:35:33
首先用桥接或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)
}
最新文章
- AngularJS Scope(作用域)
- 建模前的数据清洗/ETL(python)
- linux块设备驱动之实例
- c++中关于初始化型参列表的一些问题
- ThreadLocal类学习笔记
- [LintCode] Roman to Integer 罗马数字转化成整数
- codeforce626C.Block Towers(二分)
- spring mvc 利用匿名内部类构建返回json对象
- HDU 5724 Chess (sg函数)
- WdatePicker 日历控件使用方法+基本常用方法
- 利用mvc filterconfig属性实现权限验证
- Spring(十二)Spring之事务
- 老男孩python学习之作业二---三级菜单
- MySQL Hardware--NUMA与MySQL
- gcc 执行过程
- TCP详解 (1)
- 【转】oracle 体系结构
- Windows自带的端口转发工具netsh使用方法_DOS/BAT
- git之回退
- python 下字符串格式时间比较