Swift3 1.简单的网络请求(POST)

前端之家收集整理的这篇文章主要介绍了Swift3 1.简单的网络请求(POST)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

最近开始做新项目, 决定使用Swift 来做, 几个月前看了一下还是Swift2 现在已经到Swift3 了, 听说改动非常大。 那么直接从3学起吧,希望别出个4又改动非常大!

新做的项目会开始涉及到非常多的方面, 以前我是用object-c的, 所以上手Swift可能会有些不适应。

废话少说, 直接上代码:


  1. import UIKit
  2.  
  3.  
  4. /// 网络访问基类
  5. class BaseNetwrok: NSObject {
  6.  
  7. /// Post 访问
  8. ///
  9. /// - Parameters:
  10. /// - url: 服务器链接
  11. /// - params: POST参数
  12. func post(url:String,params:NSMutableDictionary) {
  13. //创建会话对象
  14. let session = URLSession.shared
  15. let serUrl = URL(string:url)
  16. var request = URLRequest(url: serUrl!)
  17. //设置访问方式为POST
  18. request.httpMethod = "POST"
  19. //设置POST 内容
  20. request.httpBody = getBody(params: params).data(using: String.Encoding.utf8)
  21. //开始访问
  22. let dataTask : URLSessionDataTask = session.dataTask(with: request) { (data,respones,error) -> Void in
  23. //访问结束
  24. if(error != nil) {
  25. //返回出错
  26. print(error.debugDescription)
  27. } else {
  28. //返回成功
  29. let str = String(data: data!,encoding: String.Encoding.utf8)
  30. print(str ?? "error")
  31. }
  32. }
  33. dataTask.resume()
  34. }
  35. /// 获取post内容
  36. ///
  37. /// - Parameter params: 参数
  38. /// - Returns: Body
  39. func getBody(params:NSMutableDictionary) -> String {
  40. var body : String = "";
  41. for (key,value) in params {
  42. let str = "\(key)=\(value)&"
  43. body = body + str
  44. }
  45. if(body.characters.count > 1) {
  46. body = (body as NSString).substring(to: body.characters.count-1)
  47. }
  48. return body
  49. }
  50. }

以上是一个非常普通, 非常简单的网络访问

调用代码:

let md = NSMutableDictionary()

let a = BaseNetwrok ()

a.post(url: "http://www.baidu.com",params: md)


待后续会上传更复杂的访问方式。

猜你在找的Swift相关文章