需要了解在Swift中与后端通信的常用方法

时间:2017-11-28 07:44:29

标签: ios swift request backend communicate

我是iOS世界的新手,但我一直在担任软件开发人员,并使用Laravel和PHP从事许多Web应用程序。

我的问题是,如果PHP是Swift的一个好的服务器端语言,那么在Swift中与服务器通信的常用方法是什么。

我正在考虑对Laravel或PHP应用程序进行REST API调用,以获取和存储我的项目所需的所有数据。

感谢您的提示

1 个答案:

答案 0 :(得分:2)

这是初学者的方式(Swift,iOS开发人员)

在Swift中使用cocoa框架

URLSession

从URLSession初始化URL对象和URLSessionDataTask。然后使用resume()运行任务。

let url = URL(string: "http://www.stackoverflow.com")

let task = URLSession.shared.dataTask(with: url!) {(data, response, error) in
    print(NSString(data: data!, encoding: String.Encoding.utf8))
}

task.resume()

NSURLConnection的

首先,初始化URL和URLRequest:

let url = URL(string: "http://www.stackoverflow.com")
let request = URLRequest(URL: url!)

然后,您可以使用以下方式异步加载请求:

NSURLConnection.sendAsynchronousRequest(request, queue: 
NSOperationQueue.mainQueue()) {(response, data, error) in
    print(NSString(data: data!, encoding: NSUTF8StringEncoding))
}

使用Alamofire - 非常棒的框架

https://github.com/Alamofire/Alamofire

提出请求

import Alamofire

Alamofire.request(.GET, "http://httpbin.org/get")

响应处理

Alamofire.request(.GET, "http://httpbin.org/get", parameters: ["foo": "bar"])
         .response { request, response, data, error in
              print(request)
              print(response)
              print(error)
          }