我有一个像下面这样的JSON文件,我想解析它并填充我的tableview。swift - JSON字典解析
我想要得到的是 “材料”, “类别”, “product_types”
["facets": {
"material" : {
"data" : [
{
"count" : 3,
"value" : "95% Polyester, 5% Spandex"
},
{
"count" : 1,
"value" : "%100 Modal"
}
],
},
"categories" : {
"data" : [
{
"id" : "7",
"name" : "test"
}
],
},
"product_types" : {
"data" : [
{
"count" : 3,
"value" : "Sweatshirt"
},
{
"count" : 1,
"value" : "Babet"
},
],
}
}]
我的代码是:
var list: [String:JSON]? = [:]
func loadList(){
ModafiliAPI.sharedInstance.refine(callback: { (refineList) in
if let data = refineList["facets"].dictionaryValue as [String:JSON]?{
self.list = data
self.RefineTableView!.reloadData()
print(self.refineList!)
}
})
}
我观察,我可以从访问 “面”打印输出。但在cellforrowat
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "RefineCell") as! RefineTableViewCell
cell.refineList = self.refineList?[indexPath.row] //-->>error
return cell
}
我收到以下错误:Ambiguous reference to member 'subscript'
的UITableViewCell:
var refineList:[String:JSON]?{
didSet{
self.setupRefineList()
}
}
模型,则不应使用SwiftyJSON。这只是将JSON解析为* real *集合类型或自定义类/结构的绝妙工具。它会产生很多不必要的开销来反序列化表视图数据源和委托方法中的对象。并且不要将具体现有表视图的数据源数组声明为可选项。 – vadian