Swift中网络单例类封装
来源:互联网 发布:js点击事件 编辑:程序博客网 时间:2024/06/06 20:20
//网络请求方式枚举(case 首字母大写)
enumSHNetworkToolsType:String {
case GET ="GET"
case POST ="POST"
case GET ="GET"
case POST ="POST"
}
//创建类SHNetworkTools 继承自AFN第三方框架的AFHTTPSessionManager类
classSHNetworkTools:AFHTTPSessionManager {
// 全局访问点
static let sharedTools:SHNetworkTools = {
let tools =SHNetworkTools()
// 全局访问点
static let sharedTools:SHNetworkTools = {
let tools =SHNetworkTools()
// 指定反序列化格式
tools.responseSerializer.acceptableContentTypes?.insert("text/plain”,"application/json","text/json","text/javascript","text/html")
return tools
}()
// 网络请求支持get和post请求公共方法
/// 请求公共方法
///
/// - parameter type: 请求方式
/// - parameter urlString: 请求url
/// - parameter parameters: 请求参数
/// - parameter success: 成功的闭包
/// - parameter failure: 失败的闭包
func request(type:SHNetworkToolsType, urlString:String, parameters:AnyObject?, success: (response:AnyObject?)->(), failure: (error:NSError)->()){
// get请求
if type == .GET{
GET(urlString, parameters: parameters, progress:nil, success: { (_, res) -> Void in
success(response: res)
}, failure: { (_, err) ->Void in
failure(error: err)
})
}else{
// post 请求
POST(urlString, parameters: parameters, progress:nil, success: { (_, res) -> Void in
success(response: res)
}, failure: { (_, err) ->Void in
failure(error: err)
})
}
}
}()
// 网络请求支持get和post请求公共方法
/// 请求公共方法
///
/// - parameter type: 请求方式
/// - parameter urlString: 请求url
/// - parameter parameters: 请求参数
/// - parameter success: 成功的闭包
/// - parameter failure: 失败的闭包
func request(type:SHNetworkToolsType, urlString:String, parameters:AnyObject?, success: (response:AnyObject?)->(), failure: (error:NSError)->()){
// get请求
if type == .GET{
GET(urlString, parameters: parameters, progress:nil, success: { (_, res) -> Void in
success(response: res)
}, failure: { (_, err) ->Void in
failure(error: err)
})
}else{
// post 请求
POST(urlString, parameters: parameters, progress:nil, success: { (_, res) -> Void in
success(response: res)
}, failure: { (_, err) ->Void in
failure(error: err)
})
}
}
}
0 0
- Swift中网络单例类封装
- swift网络请求封装
- Swift之网络请求框架封装
- OC和Swift的AFN网络封装
- Swift-利用AFN封装网络请求
- Swift版的网络请求封装
- swift 面向协议的网络请求封装
- swift中对AFNetWorking的简单封装
- swift中获取网络图片
- Swift网络请求于数据解析简单封装
- Swift 2.3 【封装网络请求业务类 AFNetworking/ Alamofire】
- Swift---网络判断封装(可直接使用)
- swift ——~——~第三方网络请求封装
- Swift 3.0 【Swift 3.0 环境下使用 AFNetworking 封装网络请求业务类】
- 在 swift中处理网络请求
- 在 swift中处理网络请求
- ios-Swift中封装AFN中的GET和POST请求
- ios中封装网络请求类
- POJ3616
- ios某一个屏幕支持旋转,其他不支持的方法
- MySQL Administrator
- Uncaught TypeError: Cannot read property 'width' of undefined
- 阅读Sofia-SIP源码 - su模块 - su_default_log.c/su_global_log.c
- Swift中网络单例类封装
- 构建ZooKeeper应用
- NodeJs forEach循环
- ZooKeeper管理分布式环境中的数据
- 不错的一款国产弹出js插件Layer
- fedora14安装
- js中typeof用法详细介绍及NaN、 null 及 undefined 的区别
- 迭代硬阈值(IHT)的补充说明
- uml aggregation 与 composition 的区别