ios - 按每个对象的 bool 值排序并显示在 Collection View 中

标签 ios swift sorting

我有一个 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 列表。

最佳答案

您可以按查看步骤排序:

  1. 将 JSON 数组设置为对象模型

  2. 然后使用这个函数对数组进行排序

例如。您的数据数组是:arrData

然后你使用:

arrData.sort { (first, second) -> Bool in

return !first. isTrue

 }

这将错误值对象排序在第一位

关于ios - 按每个对象的 bool 值排序并显示在 Collection View 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55042847/

相关文章:

ios - 如何获取 iOS Swift 图片库图像的 URL?

ios - 如何在 iOS 中的 prepareForSegue 之前执行按钮按下操作?

swift - 导航 View 将全屏转换为具有角半径的 View

php - 按日期列对多维数组进行排序,如果日期相同,则使用其他列值

javascript - 如何使用排序方法按字母顺序对姓氏列表进行排序

r - 对数据框的行进行排序

ios - 如何在 ios SWIFT 4.0 中使用 ttf/SVG 图标

ios - 如何从文本字段中获取整数集?

ios - 如何从电话号码字符串中删除几个数字 - Swift

ios - 是否可以使用 Alamofire swift 在 api 命中时将数组和字典都发送到参数中?