因此,我从 Ray Wenderlich 的 Swifty JSON 教程中复制粘贴了一些代码,但无法理解我正在进行的一些调用。
我浏览了 SwiftyJSON 库,查看了开发者网站上的 NSURL 描述,并查看了 Swift 指南,但要么找不到它,要么我得到了一堆杂项。
这些成功的电话是什么意思?
func getIndexWithSuccess(success: ((indexData: NSData!) -> Void)) {
loadDataFromURL(NSURL(string: url)!, completion:{(data, error) -> Void in
if let urlData = data {
/* HERE */
success(indexData: urlData)
}
})
}
func loadDataFromURL(url: NSURL, completion:(data: NSData?, error: NSError?) -> Void) {
var session = NSURLSession.sharedSession()
let loadDataTask = session.dataTaskWithURL(url, completionHandler: { (data: NSData!, response: NSURLResponse!, error: NSError!) -> Void in
if let responseError = error {
completion(data: nil, error: responseError)
} else if let httpResponse = response as? NSHTTPURLResponse {
if httpResponse.statusCode != 200 {
var statusError = NSError(domain:"com.raywenderlich",
code:httpResponse.statusCode,
userInfo:[NSLocalizedDescriptionKey : "HTTP status code has unexpected value."])
completion(data: nil, error: statusError)
} else {
completion(data: data, error: nil)
}
}
})
loadDataTask.resume()
}
}