Swift AFNetworking 使用实例
2016-05-19 14:35
344 查看
创建httpTool.swift 网络请求工具类
发送post请求
服务器返回结果
如有疑问联系QQ2584779025
GitHub https://github.com/JamesWangBJ/testTableSwift.git
相互学习,如有错误多多指教
import UIKit //请求方法 /// - GET: get /// - POST: post enum RequsetMethod:String { case GET = "GET" case POST = "POST" } class httpTool: AFHTTPSessionManager { //单例 static let sharedTools:httpTool = { let instance = httpTool() instance.responseSerializer.acceptableContentTypes?.insert("text/html") instance.responseSerializer.acceptableContentTypes?.insert("text/plain") return instance }() // 定义请求完成的回调的别名 typealias httptoolBack = (response:AnyObject?,error:NSError?)->() /// 请求数据 /// /// - parameter urlString: 请求地址 /// - parameter parameters: 请求参数 /// - parameter finished: 请求成功或者失败的回调 func request(method: RequsetMethod = .GET, urlString: String, parameters: AnyObject?, finished:httptoolBack){ // dataTaskWithHttp 是写在 .m 文件里面的 // 对应在 Swift 中的,就是 private 修饰的方法 // 定义请求成功的闭包 let success = { (dataTask: NSURLSessionDataTask, responseObject: AnyObject?) -> Void in finished(response: responseObject, error: nil) } // 定义请求失败的闭包 let failure = { (dataTask: NSURLSessionDataTask?, error: NSError) -> Void in finished(response: nil, error: error) } if method == .GET { GET(urlString, parameters: parameters, progress: nil, success: success, failure: failure) }else{ POST(urlString, parameters: parameters, progress: nil, success: success, failure: failure) } } /// 发送请求(上传文件) func requestWithData(data: NSData, name: String, urlString: String, parameters: AnyObject?, finished:httptoolBack) { // 定义请求成功的闭包 let success = { (dataTask: NSURLSessionDataTask, responseObject: AnyObject?) -> Void in finished(response: responseObject, error: nil) } // 定义请求失败的闭包 let failure = { (dataTask: NSURLSessionDataTask?, error: NSError) -> Void in finished(response: nil, error: error) } POST(urlString, parameters: parameters, constructingBodyWithBlock: { (formData) -> Void in formData.appendPartWithFileData(data, name: name, fileName: "aa", mimeType: "application/octet-stream") }, progress: nil, success: success, failure: failure) } }
发送post请求
//创建httpTool 实例 let TabHttpTool = httpTool.sharedTools //创建请求参数 let params = ["username":"invest","password":"123456"] //发送psot请求 TabHttpTool.request(RequsetMethod.POST, urlString: "http://api....../login", parameters: params) { (response, error) in print(response) }
服务器返回结果
如有疑问联系QQ2584779025
GitHub https://github.com/JamesWangBJ/testTableSwift.git
相互学习,如有错误多多指教
相关文章推荐
- Swift学习第五枪
- swift 2.2 语法 -第一讲
- swift-字符和字符串
- swift-可选值
- swift-元组
- swift-分支
- swift-运算符
- swift 数组、字典、集合、结构体、枚举——swift学习(四)
- Swift-常量变量
- Swift开发:VVDocumenter-Xcode-master插件不能用 --- 已经解决
- Swift (if while)
- 用RxSwift实现一个UITableView
- Swift与OC之间的选择
- swift中解决闭包循环引用的几种方式
- swift没有了BlocksKit怎么办?
- Swift中?和!的区别
- Swift专题讲解十五——类型构造
- 简单谈谈OC与Swift的异同
- Swift中的内存管理
- swift 2.2 语法 (中)