swift - 如何在 Swift 中按属性对结构进行排序

标签 swift sorting

<分区>

我正在尝试根据其属性对结构数组进行排序。

假设我想按 x 坐标对 NSViews 数组进行排序。

我怎样才能做到这一点?

最佳答案

这是一个非常漂亮的解决方案,它称为Closure Expression Syntax。

你需要做的是:

let sortedArray = sorted(allViewsArray, { (p1: NSView, p2: NSView) -> Bool in
            return p1.frame.origin.x < p2.frame.origin.x
        })

这会将 alLViewsArray 从最大的 X 坐标到最小的 X 坐标排序,并将其存储在 sortedArary 中。

关于swift - 如何在 Swift 中按属性对结构进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29522288/

相关文章:

swift - 从另一个类 SpriteKit 获取变量

php - 从价格数据集中移除异常值的算法

javascript - 对对象数组进行排序?

PHP - 以相同的方式对两个数组进行排序

swift - 协议(protocol)扩展中的 .sort 不起作用

Swift - 如何从 Storyboard中的 View Controller 加载 xib 文件?

ios - Swift:初始值设定项'init(_ :)'要求'Decimal'符合'BinaryInteger'

ios - 从 DateFormatter 得到错误的输出

java - 按字符串进入数组按字母顺序排序 java

使用归并排序对字符串进行排序