arrays - 快速数组排序

标签 arrays swift sorting

<分区>

我有一组来自 Parse 类的对象。在我使用它之前,它需要先按其 ID 排序,然后按顺序排序。我试着按照他的方式去做......

var data = objects as [PFObject]!
data = data.sort({($0["Sequence"] as! Int) < ($1["Sequence"] as! Int)})
data = data.sort({($0["Identifier"] as! String) < ($1["Identifier"] as! String)})

...但是它不起作用。它首先按顺序排序,然后按 ID 排序但不保持顺序。有什么问题吗,或者是否有另一种方法可以对具有多个条件的数组进行排序。

最佳答案

这应该可行

data = data.sort({
($0["Sequence"] as! Int) < ($1["Sequence"] as! Int) ||
  ( 
   ($0["Sequence"] as! Int) == ($1["Sequence"] as! Int) && 
   ($0["Identifier"] as! String) < ($1["Identifier"] as! String)
  )
})

关于arrays - 快速数组排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33033681/

相关文章:

ios - UICollisionBehavior - View 穿过边界

javascript - 如何在Javascript中将JSON字符串解析为数组

C++:使用非默认构造函数动态分配结构成员数组

java - 将文件读入数组但只存储最后一个文件?

ios - 尝试构建存档 Xcode : clang: error: linker command failed with exit code 1 (use -v to see invocation) 时出错

swift - 为什么 Swift Playgrounds 不显示 View 的转换?

c - 按多个参数对链表进行排序

c - 将 2 个数组排序在一起然后打印时遇到问题。 - C语言

c - 基于 C 中的 bool 函数对列表重新排序?

C字符数组初始化