我需要根据用户的选择对数组进行排序,但是我不知道如何使排序声明变量可变。
我正在对具有16列和100条记录的数组结构进行排序。我需要为变量分配需要对其进行排序和子排序的变量,并可以选择升序或降序。我能够对它进行排序,但不更改数百个if语句就不能更改排序选择。
struct arrayStruct {
var stringV : String!
var intV : Int!
var dateV : Date!
var costV : Float!
var stringD : String!
}
var newArray = [arrayStruct]()
newArray.sort(by: {($0.stringV, $0.dateV) < ($1.stringV, $1.dateV)}) // This works.
// I want to do this:
let choice = stringV // Error - Use of unresolved identifyer 'StringV'
let order = 0 // How to make this numeric type good after $ ??
newArray.sort(by: {($order.choice, $0.dateV) < ($1.stringV, $1.dateV)}) // So, this doesn't work. Both order and choice are invalide