首页 > 解决方案 > 二元运算符“>”不能应用于两个“Int?” 尝试排序时

问题描述

我正在尝试对自定义结构的二维数组进行排序,这id是可选的,但是当我尝试解开它们时,我得到另一个错误:Cannot assign value of type '()' to subscript of type '[SomeObject]'

for x in 0..<tableData.count {
   tableData[x] = tableData[x].sort(by: {$0.id! > $1.id!})
}

我可以在这里做什么?

标签: iosswiftsorting

解决方案


sort是一种变异方法,对集合进行就地排序,即该方法的返回类型为Void.

因此,不需要将sort返回的结果存储到tableData,即

for x in 0..<tableData.count {
    tableData[x].sort(by: {$0.id! > $1.id!})
}

确保这tableData是一个var.


推荐阅读