Swift-AFNetworking 使用实例

前端之家收集整理的这篇文章主要介绍了Swift-AFNetworking 使用实例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

创建httpTool.swift 网络请求工具类

  1. import UIKit
  2. //请求方法
  3. /// - GET: get
  4. /// - POST: post
  5. enum RequsetMethod:String {
  6. case GET = "GET"
  7. case POST = "POST"
  8. }
  9.  
  10. class httpTool: AFHTTPSessionManager {
  11.  
  12. //单例
  13. static let sharedTools:httpTool = {
  14. let instance = httpTool()
  15. instance.responseSerializer.acceptableContentTypes?.insert("text/html")
  16. instance.responseSerializer.acceptableContentTypes?.insert("text/plain")
  17. return instance
  18. }()
  19. // 定义请求完成的回调的别名
  20. typealias httptoolBack = (response:AnyObject?,error:NSError?)->()
  21.  
  22. /// 请求数据
  23. ///
  24. /// - parameter urlString: 请求地址
  25. /// - parameter parameters: 请求参数
  26. /// - parameter finished: 请求成功或者失败的回调
  27.  
  28. func request(method: RequsetMethod = .GET,urlString: String,parameters: AnyObject?,finished:httptoolBack){
  29.  
  30. // dataTaskWithHttp 是写在 .m 文件里面的
  31. // 对应在 Swift 中的,就是 private 修饰的方法
  32.  
  33. // 定义请求成功的闭包
  34. let success = { (dataTask: NSURLSessionDataTask,responSEObject: AnyObject?) -> Void in
  35. finished(response: responSEObject,error: nil)
  36. }
  37.  
  38. // 定义请求失败的闭包
  39. let failure = { (dataTask: NSURLSessionDataTask?,error: NSError) -> Void in
  40. finished(response: nil,error: error)
  41. }
  42.  
  43. if method == .GET {
  44.  
  45. GET(urlString,parameters: parameters,progress: nil,success: success,failure: failure)
  46. }else{
  47. POST(urlString,failure: failure)
  48. }
  49. }
  50.  
  51.  
  52.  
  53.  
  54. /// 发送请求(上传文件)
  55.  
  56. func requestWithData(data: NSData,name: String,finished:httptoolBack) {
  57. // 定义请求成功的闭包
  58. let success = { (dataTask: NSURLSessionDataTask,error: error)
  59. }
  60.  
  61. POST(urlString,constructingBodyWithBlock: { (formData) -> Void in
  62. formData.appendPartWithFileData(data,name: name,fileName: "aa",mimeType: "application/octet-stream")
  63. },failure: failure)
  64. }
  65. }

发送post请求

  1. //创建httpTool 实例
  2. let TabHttpTool = httpTool.sharedTools
  3. //创建请求参数
  4. let params = ["username":"invest","password":"123456"]
  5. //发送psot请求
  6. TabHttpTool.request(RequsetMethod.POST,urlString: "http://api....../login",parameters: params) { (response,error) in
  7. print(response)
  8. }

服务器返回结果

如有疑问联系QQ2584779025
GitHub https://github.com/JamesWangBJ/testTableSwift.git 相互学习,如有错误多多指教

猜你在找的Swift相关文章