使用Swift在iOS中使用Restful应用程序

时间:2015-05-13 06:36:28

标签: ios web-services swift rest

我是Swift / iOS编程的新手,我想知道你应该如何使用一种安静的方法处理Web服务,使用什么以及要考虑什么?

我已经习惯了Web服务,例如,我可以使用PHP服务器启动服务,并且还习惯于在Java应用程序中使用restful应用程序。我只需要知道使用iOS Swift操作JSON或XML数据的最佳框架。

1 个答案:

答案 0 :(得分:4)

这真的是品味问题。就个人而言,我更喜欢使用本地库。所以让我们从本机选项开始吧。

1。 NSURLConnection

你可以像这样使用它:

let url = NSURL(string: "resourceUrl")!
let request = NSURLRequest(URL: url)

NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()) { (response: NSURLResponse!, data: NSData!, error: NSError!) in
    if error == nil {
        let results: AnyObject! = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.AllowFragments, error: nil)
        if results != nil {
            //handle the response here
        }
    } else {
        //handle error
    }
}

2。 NSURLSession

在iOS7中引入,这通常是更好的方法。

let url = NSURL(string: "resourceUrl")!
let request = NSURLRequest(URL: url)
let urlSession = NSURLSession.sharedSession()
let dataTask = urlSession.dataTaskWithRequest(request, completionHandler: {(data, response, error) in
        if (error == nil) {
            var error : NSError?
            let parsedObject: AnyObject? = NSJSONSerialization.JSONObjectWithData(data,
                options: NSJSONReadingOptions.AllowFragments,
                error:&error)

                //handle the response here
    }
}

dataTask.resume()

3。如果您想使用更复杂的方法,即使用外部库,您可以选择Alamofire可以找到here。你可以阅读它的专业知识与标准的原生方法。

4. 如果您只是处理JSON,那么您可以使用SwiftyJSON,这使得解析JSON非常容易。

祝你好运!