我必须使用一个参数对对象数组进行排序。我创建了一个实体,下面是我的JSON:

{
"Name": "Amit",
"Progress": "38",
"Color": "red",
},
  {
"Name": "Sonu",
"Progress": "70",
"Color": "green",
}


以下是我的实体类:

class Scoreboard {

    // MARK: - Properties
    var scoreboardName: String? = ""
    var scoreboardProgress: String? = "0"
    var scoreboardColor: String? = ""
}


我已将此JSON数据传递到表中,问题是如何根据“进度”进行排序?

我尝试下面的代码:

scoreboardArray = scoreboardArray.sorted(by: {($0.scoreboardProgress() < $1.scoreboardProgress())})


但这不起作用。请有人建议我。

最佳答案

你能试一下吗

scoreboardArray = scoreboardArray.sorted {
   Int($0.scoreboardProgress!)! < Int($1.scoreboardProgress!)!
}


另外,如果您指定默认值,则最好删除?

不相关,但为什么不使用Decodable

class Scoreboard : Decodable {

关于ios - 在Swift3 iOS中使用字符串参数对对象数组进行排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51713470/

10-10 20:56