最近开始做新项目, 决定使用Swift 来做, 几个月前看了一下还是Swift2 现在已经到Swift3 了, 听说改动非常大。 那么直接从3学起吧,希望别出个4又改动非常大!
新做的项目会开始涉及到非常多的方面, 以前我是用object-c的, 所以上手Swift可能会有些不适应。
废话少说, 直接上代码:
- import UIKit
- /// 网络访问基类
- class BaseNetwrok: NSObject {
- /// Post 访问
- ///
- /// - Parameters:
- /// - url: 服务器链接
- /// - params: POST参数
- func post(url:String,params:NSMutableDictionary) {
- //创建会话对象
- let session = URLSession.shared
- let serUrl = URL(string:url)
- var request = URLRequest(url: serUrl!)
- //设置访问方式为POST
- request.httpMethod = "POST"
- //设置POST 内容
- request.httpBody = getBody(params: params).data(using: String.Encoding.utf8)
- //开始访问
- let dataTask : URLSessionDataTask = session.dataTask(with: request) { (data,respones,error) -> Void in
- //访问结束
- if(error != nil) {
- //返回出错
- print(error.debugDescription)
- } else {
- //返回成功
- let str = String(data: data!,encoding: String.Encoding.utf8)
- print(str ?? "error")
- }
- }
- dataTask.resume()
- }
- /// 获取post内容
- ///
- /// - Parameter params: 参数
- /// - Returns: Body
- func getBody(params:NSMutableDictionary) -> String {
- var body : String = "";
- for (key,value) in params {
- let str = "\(key)=\(value)&"
- body = body + str
- }
- if(body.characters.count > 1) {
- body = (body as NSString).substring(to: body.characters.count-1)
- }
- return body
- }
- }
以上是一个非常普通, 非常简单的网络访问。
let md = NSMutableDictionary()
let a = BaseNetwrok ()a.post(url: "http://www.baidu.com",params: md)
待后续会上传更复杂的访问方式。