封装AFNetworking网络工具类(Swift)
2015-12-08 00:00
633 查看
摘要: 封装AFNetworking网络工具类(Swift)
封装AFNetworking网络工具类(Swift)
开始
sdaadd
继续
封装AFNetworking网络工具类(Swift)
开始
// // NetworkTools.swift // 测试-01-AFN import UIKit import AFNetworking /// 请求方法枚举 enum TKRequestMethod: String{ case GET = "GET" case POST = "POST" } //MARK: - 网络工具 class NetworkTools: AFHTTPSessionManager { //单例 static let sharedTools: NetworkTools = { let tools = NetworkTools(baseURL: nil) //设置反序列化数据格式 -系统会自动将OC框架中的NSSet转换成 Set tools.responseSerializer.acceptableContentTypes?.insert("text/html") return tools }() } //MARk: - 封装AFN 网络方法 extension NetworkTools { func request(method: TKRequestMethod, Urlstring: String,parameters: [String:AnyObject]?, finished:(result: AnyObject?,error: NSError?)->()){ if method == TKRequestMethod.GET { GET(Urlstring, parameters: parameters, success: { (_, result) -> Void in finished(result: result, error: nil) }) { (_, error) -> Void in //在开发网络应用的时候,错误虽然不要提示给用户,但是一定要输出,我们程序猿一定要知道 print(error) finished(result: nil, error: error) } }else{ POST(Urlstring, parameters: parameters, success: { (_, result) -> Void in finished(result: result, error: nil) }) { (_, error) -> Void in //在开发网络应用的时候,错误虽然不要提示给用户,但是一定要输出,我们程序猿一定要知道 print(error) finished(result: nil, error: error) } } } }
sdaadd
// // ViewController.swift // 测试-01-AFN import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() NetworkTools.sharedTools.request(TKRequestMethod.POST,Urlstring: "http://httpbin.org/post", parameters: ["name": "zhangsan"]) { (result,error) -> () in print(result) } } }
继续
// // NetworkTools.swift // 测试-01-AFN import UIKit import AFNetworking /// 请求方法枚举 enum TKRequestMethod: String{ case GET = "GET" case POST = "POST" } //MARK: - 网络工具 class NetworkTools: AFHTTPSessionManager { //单例 static let sharedTools: NetworkTools = { let tools = NetworkTools(baseURL: nil) //设置反序列化数据格式 -系统会自动将OC框架中的NSSet转换成 Set tools.responseSerializer.acceptableContentTypes?.insert("text/html") return tools }() } //MARk: - 封装AFN 网络方法 extension NetworkTools { /// 网络请求 /// /// - parameter method: GET / POST /// - parameter URLString: URLString /// - parameter parameters: 参数字典 /// - parameter finished: 完成回调 func request(method: TKRequestMethod, Urlstring: String,parameters: [String:AnyObject]?, finished:(result: AnyObject?,error: NSError?)->()){ //定义成功回调 let success = {(task: NSURLSessionDataTask, result: AnyObject) -> Void in finished(result: result, error: nil) } //定义失败回调 let failure = { (task: NSURLSessionDataTask?, error: NSError) -> Void in print(error) finished(result: nil, error: error) } if method == TKRequestMethod.GET { GET(Urlstring, parameters: parameters, success: success, failure: failure) }else{ POST(Urlstring, parameters: parameters, success: success, failure: failure) } // if method == TKRequestMethod.GET { // GET(Urlstring, parameters: parameters, success: { (_, result) -> Void in // // finished(result: result, error: nil) // // }) { (_, error) -> Void in // // //在开发网络应用的时候,错误虽然不要提示给用户,但是一定要输出,我们程序猿一定要知道 // print(error) // finished(result: nil, error: error) // } // }else{ // // POST(Urlstring, parameters: parameters, success: { (_, result) -> Void in // // finished(result: result, error: nil) // // }) { (_, error) -> Void in // // //在开发网络应用的时候,错误虽然不要提示给用户,但是一定要输出,我们程序猿一定要知道 // print(error) // finished(result: nil, error: error) // } // // } } }
相关文章推荐
- Http协议 详解
- PHP+Swoole网络通信框架
- 天下数据浅谈服务器网络级验证的条件及作用
- Httpd简介和基本配置
- Httpd2.4简介及CenOS6.6下编译安装
- Httpd部分高级应用配置
- DHCP管理配置
- 一个建议的tcp服务器,可以用来做防火墙端口测试调试
- Abot开源的C#网络爬虫
- HttpClient第一章(二)
- 人工神经网络(ANN)
- 对TCP协议中某些内容的理解
- 内存管理pbuf.c源码解析——LwIP学习
- HTTP Referer
- POJ 1637 Sightseeing tour
- 使用http协议访问svn
- 网络相关问题(下)
- 【计算机网络】:可靠数据传输的原理
- 网络安全相关站点
- 通过接口加载网络数据 (解析数据)