Swift Json进入tableview的数组

时间:2015-04-16 02:30:15

标签: json swift url

已经在PHP编写了10年以上,并且现在尝试编写我的第一个IOS应用程序,但男人哦,男人,学习曲线陡峭而且困难!!!!我已经尝试了两个星期来获得一个简单的URL,将Json显示为一个数组,然后进入tableview,我很难过。我找到的任何演示都是在Objective C中,甚至在Swift中,但不是最新的Xcode 6.1。我看了教程,并从Apress(去年11月出版)获得了一本好书但却一无所获。我有我的tableview设置,可以正确显示静态构建的数组,所以我不需要任何帮助。我需要的是一个最新的例子,从一个url解析一个json文件并将其扔进一个数组,我可以从中构建我的表行。

2 个答案:

答案 0 :(得分:1)

尝试这样的事情让你前进:

let url = NSURL(string: "http://date.jsontest.com")

    var request = NSMutableURLRequest(URL: url!)
    request.HTTPMethod = "GET"
    request.setValue("application/json", forHTTPHeaderField: "Accept")

    let fetchData: NSURLSessionDataTask = NSURLSession.sharedSession().dataTaskWithRequest(request) { (data, response, error) -> Void in
        if error == nil {
            var json = NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.allZeros, error: nil) as! NSDictionary
            println("\(json)")
        }
    }

    fetchData.resume()

答案 1 :(得分:0)

我没有任何现成的,可以完成所有这些,至少在Swift中没有。我编写了一些代码来将本地JSON数据解析为集合对象。那部分很简单。

将JSON数据解析为数组的代码可能如下所示:

if let quizNSArray: NSArray = NSJSONSerialization.JSONObjectWithData(sourceJSONData,
  options: NSJSONReadingOptions(0),
  error: nil) as? NSArray
{
  //If JSON conversion worked this code executes.
}

您需要编写创建NSURLRequest的代码,然后编写NSURLConnection,然后提交和执行异步GET请求,然后在NSData对象中收集结果。或者,您可以使用采用完成块的NSURLConnection类方法。 (它被称为sendAsynchronousRequest:queue:completionHandler:)。我可以在睡眠中用Objective-C编写代码,但还不必在swift中编写它。