all

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

发布于 2022-03-22 23:05:09

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

关注者
0
被浏览
48
1 个回答
  • 面试哥
    面试哥 2022-03-22
    为面试而生,有面试问题,就找面试哥。

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

    var images : [imageFile] = []
    

    然后你可以简单地做:

    斯威夫特 2

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

    斯威夫特 3+

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

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



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看