一尘不染

Swift如何通过属性值对自定义对象数组进行排序

swift

可以说我们有一个名为imageFile的自定义类,该类包含两个属性。

class imageFile  {
    var fileName = String()
    var fileID = Int()
}

其中很多存储在数组中

var images : Array = []

var aImage = imageFile()
aImage.fileName = "image1.png"
aImage.fileID = 101
images.append(aImage)

aImage = imageFile()
aImage.fileName = "image1.png"
aImage.fileID = 202
images.append(aImage)

问题是:如何按“ fileID” ASC或DESC对图像数组进行排序?


阅读 282

收藏
2020-07-07

共1个答案

一尘不染

首先,将Array声明为类型化数组,以便在迭代时可以调用方法:

var images : [imageFile] = []

然后,您可以简单地执行以下操作:

迅捷2

images.sorted({ $0.fileID > $1.fileID })

迅捷3+

images.sorted(by: { $0.fileID > $1.fileID })

上面的示例给出了 desc 排序顺序

2020-07-07