【发布时间】:2019-05-07 21:52:09
【问题描述】:
我正在尝试根据具有相同值的对象在我的 tableview 单元格中显示 JSON 数据。
现在,我可以将所有 JSON 数据显示到我的单元格行中,但我无法排除不具有相同对象值的数据。
我正在使用这个设置来获取数据:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
// Retrieve cell
let cellIdentifier: String = "takesTableViewCell"
let myCell: TakesTableViewCell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier)! as! TakesTableViewCell
// Get the location to be shown
let item: LocationModel = feedItems[indexPath.row] as! LocationModel
// Get references to labels of cell
myCell.mainNameLabel.text = item.title
myCell.mainTakeLabel.text = item.take
return myCell
}
这是我拥有的示例 JSON 数据
[
{
"id":"1",
"title":"Great Title 1",
"take":"Testing !!!",
"movieid":"299534"
},
{
"id":"2",
"title":"Great Title 2",
"take":"Testing 1,2,3",
"movieid":"299666"
},
{
"id":"3",
"title":"Great Title 3",
"take":"Testing 1,2,3",
"movieid":"299534"
}
]
我只想显示具有相同“movieid”的结果,如下所示:
标题: 伟大的标题 1
参加: 测试!!!
Title: Great Title 3
Take: 测试 1,2,3
【问题讨论】:
-
在某些方面不是很清楚。只有一个movieid会被复制吗?提前知道是什么吗?如果没有会发生什么?如果有多个怎么办?无论如何,这将需要一些预处理。 tableView 函数不会自动对此进行过滤。也许构建一个以movieid为键的字典,值是一个对象数组,然后遍历键以寻找计数> 1的数组?
-
可能有多个可以复制的movieid。有些可能不会被复制。我也不知道事先会复制哪些movieid。如何创建字典?这个 JSON 是从我的 PHP 文件创建的,该文件将 mysql 数据库表中的项目转换为 JSON。该数据库是从 iOS 应用帖子中填充的。
标签: json swift uitableview