我是Swift / iOS编程的新手,我想知道你应该如何使用一种安静的方法处理Web服务,使用什么以及要考虑什么?
我已经习惯了Web服务,例如,我可以使用PHP服务器启动服务,并且还习惯于在Java应用程序中使用restful应用程序。我只需要知道使用iOS Swift操作JSON或XML数据的最佳框架。
答案 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非常容易。
祝你好运!