【问题标题】:sort an array with Custom Objects swift 4使用自定义对象 swift 4 对数组进行排序
【发布时间】:2017-11-06 12:06:21
【问题描述】:
public class OfferObjectModel: JSONJoy {
    let rank : Int?
    }

offersList.sort(by: { $0.rank < $1.rank }) -->Binary operator '<' cannot be applied to two 'Int?' operands
offersList is an array of OfferObjectModel

【问题讨论】:

标签: arrays swift sorting


【解决方案1】:

你可以这样做:

a.sort { (first, second) -> Bool in
guard let firstRank = first.rank else { return true }
guard let secondRank = second.rank else { return false }
return firstRank < secondRank
}

因此,此代码块将确保您的 nil 排名位于第一位,然后按排名值排序。如果改变这部分:

guard let firstRank = first.rank else { return false }
guard let secondRank = second.rank else { return true }

Nil 排名将在最后。 请确保您的数组是可变的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-20
    • 1970-01-01
    • 1970-01-01
    • 2018-05-12
    • 1970-01-01
    • 2021-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多