很多人在排序時使用$0
和$1
。它不適合我。這是一些人使用的代碼。
images.sort({ $0.fileID > $1.fileID })
images
是陣列和我假定.fileID
是該對象中的一個字段。我想排序我的數組oneCells
結構名爲spend
。我想按日期對數組進行排序。我會怎麼做?
很多人在排序時使用$0
和$1
。它不適合我。這是一些人使用的代碼。
images.sort({ $0.fileID > $1.fileID })
images
是陣列和我假定.fileID
是該對象中的一個字段。我想排序我的數組oneCells
結構名爲spend
。我想按日期對數組進行排序。我會怎麼做?
這速記參數名
夫特自動提供速記參數名內聯 封閉件,其可用於通過名稱$ 0,$ 1,$ 2等,指的是閉合的 參數的值在
希望這將幫助你:
struct oneCell{
var date = NSDate()
var money = Int()
}
var Spend = [oneCell]()
Spend.sort({ $0.date.compare($1.date) == NSComparisonResult.OrderedAscending })
這些是p將值傳遞給閉包。它們被標記爲位置而不是被命名。 $0
是關閉的第一個參數,第二個是$1
,第三個是$2
,依此類推。在這種情況下,sort
需要兩個參數。 $0
是spend
數組的當前元素,下一個是$1
。你會這樣稱呼sort
。
let sorted = spend.sort{$0.date.timeIntervalSince1970 > $1.date.timeIntervalSince1970}
您的標題和問題主體不匹配。你在問什麼'$ 0','$ 1'(它*是*在Swift書中記載的),或者你的排序不起作用的原因? –
歡迎來到SO。我注意到你的標題不包括你的問題 - 如果你點擊編輯按鈕,你可以編輯你的問題並將其改爲更相關的東西。 (如何在Swift中按日期排序數組,或類似的東西)。 – Koen
顯示您嘗試的排序並解釋您得到的錯誤 – Wain