假设我们有一个名为 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 对图像数组进行排序?
首先,将 Array 声明为类型化数组,以便在迭代时调用方法:
var images : [imageFile] = []
然后你可以简单地做:
斯威夫特 2
images.sorted({ $0.fileID > $1.fileID })
斯威夫特 3+
images.sorted(by: { $0.fileID > $1.fileID })
上面的例子给出了 desc 排序顺序