¿Hay una manera de ordenar un Struct matriz con parámetros variables?

votos
0

Tengo que ordenar una matriz basada en la elección del usuario, pero no sé cómo hacer que la variable de declaración de tipo.

Estoy ordenando una estructura matriz con 16 columnas y 100 registros. Necesito asignar a las variables que deben ser ordenados y subsorted y tienen una opción de columnas ascendentes o descendentes. Soy capaz de solucionar el problema, pero no cambiar las opciones de clasificación sin hacer cientos de sentencias 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
Publicado el 09/10/2019 a las 18:56
fuente por usuario
En otros idiomas...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more