小编典典

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

all

假设我们有一个名为 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 对图像数组进行排序?


阅读 128

收藏
2022-03-06

共1个答案

小编典典

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

var images : [imageFile] = []

然后你可以简单地做:

斯威夫特 2

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

斯威夫特 3+

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

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

2022-03-06