在Swift中对数字排序有时不一致吗?

时间:2019-07-09 22:57:21

标签: arrays swift sorting nsarray

我正在使用以下代码对我的应用程序中的一堆数字进行排序,并显示在UIPickerView中。但是,有时(似乎当同时有2位和3位数字时,我得到以下结果。

enter image description here

如您所见,有四个数字明显小于300.0,但由于某些原因仍显示在末尾。我一辈子都想不通。

这是将数字添加到我的数组并按升序排序的方式。

self.strikes.removeAllObjects()

let inner = strikeMap.object(forKey: strikeMap.allKeys.first ?? "<#default value#>") as! NSDictionary

for strike in inner.allKeys {

   self.strikes.add(strike)

}

self.strikes.sort(using: [NSSortDescriptor(key: nil, ascending: true)])

1 个答案:

答案 0 :(得分:0)

已解决:

self.strikes.sort(using: [NSSortDescriptor(key: "self.doubleValue", ascending: true)])

我正在对数字字符串进行排序。