【发布时间】:2014-10-03 10:29:29
【问题描述】:
我正在尝试遵循一个教程 - 失败并且在堆栈上找到了一些代码溢出 Make REST API call in Swift 决定尝试这种方法。以下代码是更改 URL 的复制和粘贴(我知道!),但我似乎在控制台而不是 JSON 上打印了一个错误 - 该错误在很大程度上没有帮助 - 0x0000000000000000
JSON 似乎打印到浏览器窗口,所以我不完全确定这种方法可能有什么问题?请有人提供一些帮助,说明为什么这可能不起作用?
谢谢
var url : String = "http://www.flickr.com/services/rest/?method=flickr.test.echo&format=json&api_key=d6e995dee02d313a28ed4b799a09b869"
var request : NSMutableURLRequest = NSMutableURLRequest()
request.URL = NSURL(string: url)
request.HTTPMethod = "GET"
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue(), completionHandler:{ (response:NSURLResponse!, data: NSData!, error: NSError!) -> Void in
var error: AutoreleasingUnsafeMutablePointer<NSError?> = nil
let jsonResult: NSDictionary! = NSJSONSerialization.JSONObjectWithData(data, options:NSJSONReadingOptions.MutableContainers, error: error) as? NSDictionary
if (jsonResult != nil) {
println(jsonResult);
} else {
// couldn't load JSON, look at error
println(error);
}
})
【问题讨论】:
-
您没有正确传递
error对象。将其定义为var error: NSError?,并以..., error: &error)传递; Swift 会为您来回转换为指针。见Adopting Cocoa Design Patterns。