当前位置: 首页 > 面试题库 >

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

糜野
2023-03-14
问题内容

可以说我们有一个名为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 排序顺序



 类似资料:
  • 假设我们有一个名为的自定义类,该类包含两个属性: 其中许多存储在一个阵列中: 如何按“fileID”升序或降序对图像数组进行排序?

  • 我试过了,但不起作用,二进制运算符'>'不能应用于两个'double?‘操作数 做这件事最方便快捷的方法是什么?

  • 问题内容: 在Swift 2.0中,您将如何按属性对自定义对象数组进行排序?我知道在Swift 1.2中,这是使用sorted()和sort()完成的。但是,这些方法在Xcode 7 beta 4中不再起作用。谢谢! 例如: 问题答案: 在Swift 2中: 您可以使用方法,使用来比较两个日期: 或者,如果您想对原始数组进行排序,则可以: 在Swift 3中 返回数组的排序形式,请使用,而不是 排

  • 现在如何按照MyClass对象的名称对数组进行排序。

  • 问题内容: 我已经使用AJAX获得了以下对象并将它们存储在数组中: 如何仅使用JavaScript 创建一个函数以按属性 升序 或 降序 对对象进行排序? 问题答案: 按价格升序对房屋进行排序: 或在ES6版本之后:

  • 免责声明:我已经发布过这样一个问题,它被标记为重复。请帮帮我。我已经看过了stackoverflow之前的所有方法,但都没有任何帮助。在我的例子中,提到的所有对Map(Key,Values)进行排序的方法都不起作用,因为我还有一个步骤,即检索值的属性。这一次,我试着详细讲述。 我有一个地图(字符串,对象)在Java,我想排序它使用对象的属性之一。 假设我有一堂课 现在,我创建了一张地图 我想通过类