NSDecimalNumber有一个有用的比较:方法。
与其围绕此比较方法编写包装器,然后调用sortedarrayingfunction:context:,不如直接将NSDecimalNumber比较方法传递给NSArray's排序的方法之一。
使用Swift的最佳方法是什么?

最佳答案

对于NSArray您只需使用sortedArrayUsingSelector()
并将compare:方法作为选择器传递:

let array = NSArray(objects:
        NSDecimalNumber(integer: 30),
        NSDecimalNumber(integer: 20),
        NSDecimalNumber(integer: 10))
let sorted = array.sortedArrayUsingSelector("compare:")
// Swift 2.2 or later:
let sorted = array.sortedArrayUsingSelector(#selector(NSNumber.compare(_:)))

print(sorted) // [10, 20, 30]

关于swift - 排序NSArray of NSDecimalNumber,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33673703/

10-12 17:08