一旦数字大于10,Tableview就不会排序

Put*_*tte -3 tableview ios swift

我正在使用以下代码对tableview进行排序:

list.sort() { $0.points > $1.points }
Run Code Online (Sandbox Code Playgroud)

而且一切正常(一点点),如果我使用这种排序方法,它将对数字(也称为点)进行一直到10的排序。但是,一旦数字超过10,列表就不再排序。而且我不知道如何解决这个问题。

10以下的结果:

1个

10以上的结果:

2

我猜是因为“ 10”而将其放置在其中,如果我将“ 60”用作它,它将放置在第二或第三位置。那么,我该如何解决呢?我会很感激。

vad*_*ian 6

比较字符串时,这是正常行为。字符串不是数字。

该方法localizedStandardCompare像in一样进行比较Finder并正确处理数字字符串

list.sort() { $0.points.localizedStandardCompare($1.points) == .orderedDescending }
Run Code Online (Sandbox Code Playgroud)

或者compare用.numeric选项

list.sort() { $0.points.compare($1.points, options: .numeric) == .orderedDescending }
Run Code Online (Sandbox Code Playgroud)