Swift how to sort array of custom objects by property value(Swift如何按属性值对自定义对象数组进行排序)
问题描述
假设我们有一个名为 imageFile 的自定义类,该类包含两个属性.
lets say we have a custom class named imageFile and this class contains two properties.
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 对图像数组进行排序?
question is: how can i sort images array by 'fileID' ASC or DESC?
推荐答案
首先,将你的 Array 声明为类型化数组,以便在迭代时调用方法:
First, declare your Array as a typed array so that you can call methods when you iterate:
var images : [imageFile] = []
那么你可以简单地做:
斯威夫特 2
images.sorted({ $0.fileID > $1.fileID })
Swift 3+
images.sorted(by: { $0.fileID > $1.fileID })
上面的例子给出了desc排序顺序
The example above gives desc sort order
这篇关于Swift如何按属性值对自定义对象数组进行排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!