Reddit から取得している JSON オブジェクトからデータを抽出しようとしていますが、SwiftyJSON ライブラリの使用時に問題が発生しています (これはhttps://github.com/SwiftyJSON/SwiftyJSONで確認できます)。
次の URL で Reddit の API を呼び出しています。" http://www.reddit.com/r/aww/hot.json "リスト。
私のコードは以下の通りです:
import UIKit
class ViewController: UIViewController, NSURLConnectionDelegate {
var data = NSMutableData()
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.connectReddit()
}
func connectReddit() {
let urlPath: String = "http://www.reddit.com/r/aww/hot.json"
var url = NSURL(string: urlPath)!
var request = NSURLRequest(URL: url)
var connection = NSURLConnection(request: request, delegate: self, startImmediately: false)!
connection.start()
}
func connection(connection: NSURLConnection!, didReceiveData data: NSData!){
self.data.appendData(data)
}
func connectionDidFinishLoading(connection: NSURLConnection!) {
var err: NSError?
// throwing an error on the line below (can't figure out where the error message is)
let jsonResult = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: nil) as NSDictionary
println(jsonResult)
let json = JSON(data: data)
let authorName = json["data"]["children"]["author"].stringValue
println(authorName)
}
}
SwifyJSON クラスを呼び出しているコードを確認できます。データを解析しようとすると、次のようになります。そこにデータがはっきりと表示されると、応答として nil が返されます。
let json = JSON(data: data)
let authorName = json["data"]["children"]["author"].stringValue
println(authorName)
ここで何が間違っているのかわかりません。
助けてくれてありがとう!