我很难从二维JSON结构中获取值并将其放入TableView中。 我使用AFNetworking来获取JSON数据。此代码构建于Xcode 6 beta 7:
func apiConnetion() {
var result: NSArray = []
manager.GET("https://example.com/",
parameters: nil,
success: { (operation: AFHTTPRequestOperation!,responseObject: AnyObject!) in
result = responseObject as NSArray
println(result)
dispatch_async(dispatch_get_main_queue(), {
self.commentData = result
self.commentTableView!.reloadData()
})
},
failure: { (operation: AFHTTPRequestOperation!,error: NSError!) in
println("error")
println(" \(error.localizedDescription ) ")
})
}
println(result)
打印出如下结构:
{
"id" = 1;
"name" = "Test1";
"category" =
"id" = 1;
"name" = "justtest";
}
{
"id" = 2;
"name" = "Test2";
"category" =
"id" = 2;
"name" = "justtest1";
}
如何获取类别名称?
答案 0 :(得分:1)
您有NSArray
个条目。使用indexPath.row
中的cellForRowAtIndexPath
选择正确的条目。这会返回一个字典。选择与"类别"对应的值返回NSDictionary?
因为字典访问总是返回可选值,以防密钥不存在。使用?
打开它。一个?
比这里的!
更安全,如果"类别"那将会崩溃试图解开nil。不是关键。现在查找" name"返回NSString?
。最后使用 nil coalescing operator 来获取字符串或空字符串,如果" category"或"名称"没有有效的密钥。
let name = result[indexPath.row]["category"]?["name"] ?? ""