很多人在排序时会使用$0
和$1
。它对我不起作用。这是一些人使用的代码。
images.sort({ $0.fileID > $1.fileID })
images
是数组,我假设.fileID
是该对象中的一个字段。我想对名为oneCells
的{{1}}结构数组进行排序。
spend
我想按日期对数组进行排序。我该怎么做?
答案 0 :(得分:1)
它的速记参数名称
Swift自动为内联提供速记参数名称 闭包,可用于引用闭包的值 名称为$ 0,$ 1,$ 2等的参数
答案 1 :(得分:1)
这些是传递给闭包的值的占位符。它们按位置标记而不是命名。 $0
是闭包的第一个参数,$1
是第二个,$2
是第三个,依此类推。在这种情况下,sort
有两个参数。 $0
是spend
数组的当前元素,$1
是下一个数组。你可以这样打电话给sort
。
let sorted = spend.sort{$0.date.timeIntervalSince1970 > $1.date.timeIntervalSince1970}
答案 2 :(得分:0)
希望这会对你有所帮助:
struct oneCell{
var date = NSDate()
var money = Int()
}
var Spend = [oneCell]()
Spend.sort({ $0.date.compare($1.date) == NSComparisonResult.OrderedAscending })