我正在尝试将JSON数据打印到屏幕上,但每当我运行应用程序时,程序都会崩溃。我搜索了堆栈溢出但找不到我的问题。
var url = NSURL(string: "https://alpha-api.app.net/stream/0/posts/stream/global")!
var requestURL = NSURLRequest(URL: url)
NSURLConnection.sendAsynchronousRequest(requestURL, queue: NSOperationQueue(), completionHandler:{ (response: NSURLResponse!, data: NSData!, error: NSError!) -> Void in
var json = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: nil) as [NSMutableDictionary]
println(json)
println("Got data from \(requestURL.URL)")
})
答案 0 :(得分:0)
我个人会做的一些事情,看看这些是否会让它更好用:
var request = NSMutableURLRequest(URL: passedURL)
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()) {
(response, data, error) in
println(response)
println(data)
println(error)
if error == nil {
if let HTTPResponse = response as? NSHTTPURLResponse {
let statusCode = HTTPResponse.statusCode
if statusCode == 200 {
println("success")
}
}
}
}
如果不起作用,请执行以下步骤:
首先,检查链接是否有效。如果是这样,我只是在做任何事情之前尝试打印错误,数据和对日志的响应。如果清楚,请尝试打印数据而不将其转换为JSON,看看它是否有效。
答案 1 :(得分:0)
使用Alamofire
代替NSURLRequest
。 https://github.com/Alamofire/Alamofire
Alamofire.request(.GET, "https://alpha-api.app.net/stream/0/posts/stream/global").responseJSON { (request, response, json, error) in
if json != nil {
println(json)
}
}