swift4.0 对象数据源根据属性分组,时间排序

//dataArray:[OperationMaintenanceObject] 对象数组

func responsDeal(dataArray:[OperationMaintenanceObject]){

//可变集合

let operationSet = NSMutableSet()

//遍历数组加进集合

for operationMainObj in dataArray {

            operationSet.add(operationMainObj.releaseTime ?? "unknow")

        }

//遍历集合

        operationSet.enumerateObjects ({ (obj, _) in

//根据数组里面的 releaseTime 属性进行分组,相同的返回过滤数组

let filterArray =  dataArray.filter{

let str = obj as! String

return $0.releaseTime == str

            }

//将数组添加到数据源数组

self.operationMaintenanceList?.append(filterArray)

        })

//根据时间进行排序

self.operationMaintenanceList =  self.operationMaintenanceList?.sorted(by: { (array1, array2) -> Bool in

let obj1 = (array1 as! [OperationMaintenanceObject]).first

let obj2 = (array2 as! [OperationMaintenanceObject]).first

let dateFormater = DateFormatter()

            dateFormater.dateFormat = "YYYY-MM-dd"

let date1 = dateFormater.date(from: (obj1?.releaseTime)!)

let date2 = dateFormater.date(from: (obj2?.releaseTime)!)

return date1?.compare(date2!) == .orderedDescending

        })

//重现加载表格数据

self.tableView.reloadData()

    }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券