我有一个 UITableView
,在其中我使用 UICollectionView
。所以我有多个 Collection View - 用户可以在其中水平滚动。现在,在我的每个 Collection View 中,我都有一些数据要显示。但每个单元格对象都包含 bool 值。如果 bool 为 false,那么我需要在 Collection View 中首先显示对象标题,然后 bool 为 true。
我的 JSON 如下:
first obj:({
name =ruler1;
com = " 1";
Dele = "";
isTrue = false
},
{
name =rule2r;
com = " 1";
Dele = "";
isTrue = true
},
{
name =rule3r;
com = " 1";
Dele = "";
isTrue = false
})
sec obj:({
name =ruler name1;
com = " 1";
Dele = "";
isTrue = true
},
{
name =ruler name 2;
com = " 1";
Dele = "";
isTrue = false
},
{
name =ruler name 3;
com = " 1";
Dele = "";
isTrue = false
})
在cellForRowAtIndexPath
中,我只是像平常一样显示标签:
collectionCell.cellTitleLabel.text = Info["name"] as? String ?? ""
但是,我如何排序并显示哪个对象是错误的?首先需要展示这一点。
例如:
ruler1 (false)、rule3r(false) 、rule2r(true)
类似。
有什么有用的解决方案吗?我尝试过排序,但没有多大帮助。
更新:
我有以下代码在 cellForRowAtIndexPath
方法的 collectionView
中显示标签:
if let gamesList = skillInfo?["data_list"] as? [[String: Any]] {
let gameInfo = gamesList[indexPath.item]
collectionCell.cellTitleLabel.text = gameInfo["name"] as? String ?? ""
}
skillInfo
是我在 bundle 中添加的 JSON
列表。
最佳答案
您可以按查看步骤排序:
将 JSON 数组设置为对象模型
然后使用这个函数对数组进行排序
例如。您的数据数组是:arrData
然后你使用:
arrData.sort { (first, second) -> Bool in
return !first. isTrue
}
这将错误值对象排序在第一位
关于ios - 按每个对象的 bool 值排序并显示在 Collection View 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55042847/