Swift AFNetworking 使用实例
来源:互联网 发布:淘宝店铺出租价格 编辑:程序博客网 时间:2024/05/29 03:54
创建httpTool.swift 网络请求工具类
import UIKit//请求方法/// - GET: get/// - POST: postenum 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
相互学习,如有错误多多指教
0 1
- Swift AFNetworking 使用实例
- Swift 下AFNetworking得使用
- Swift 下AFNetworking得使用
- iOS-swift-AFNetworking使用事例
- 如何在Swift 中使用AFNetworking
- 使用Swift调用AFNetworking进行网络请求
- 使用Swift调用AFNetworking进行网络请求
- swift 使用AFNetWorking 进行网络请求
- 在swift 中 使用AFNetworking获取json数据
- iOS开发-在Swift里使用AFNetworking方法
- iOS网络编程3--swift中使用AFNetworking库
- swift 里面 调用AFNetworking
- Swift里封装AFNetworking
- Swift---AFNetworking封装
- AFNetworking 的封装 Swift
- swift AFNetworking封装
- Swift 3.0 【Swift 3.0 环境下使用 AFNetworking 封装网络请求业务类】
- AFNetworking使用
- RabbitMQ在分布式系统的应用
- struts2 上传和下载
- 总价+激励合同(FPIF)的计算,与CPIF的区别
- iOS addChildViewController 详解
- Jquery-animateNumber数字动画插件
- Swift AFNetworking 使用实例
- BOX2D 自然的旋转到一个指定角度
- 由C++的泛型句柄类思考OpenCV的Ptr模板类
- Java泛型
- 正则表达式
- Android 使用fastjson找不到fastjson包问题的解决方法
- SDWebImage下载图片
- java多线程采集+线程同步
- BOX2D 自然的旋转到一个指定角度