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

假设我们有一个名为imageFile的自定义类,该类包含两个属性

类图像文件{
var fileName=String()
var fileID=Int()
}

它们中的许多存储在数组中

var图像:数组=[]
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对图像数组进行排序

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

var图像:[imageFile]=[]

然后你可以简单地做:

Swift 2

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

Swift 3+

图像。排序(按:{$0.fileID>$1.fileID})

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

发表评论