Classificando a matriz [Qualquer]
Dada uma matriz definida como segue
let list: [Any]
Eu quero classificarQUANDO
todos os valores dentro dele têm o mesmo tipoElement
E Element
éComparable
.Quando deve retornar a matriz classificadaEntão, eu precisaria de uma função que, quando a matriz for preenchida de uma maneira como as seguintes
let list: [Any] = [10, 11, 0, 2, -1]
let list: [Any] = ["Red", "Green", "Blue"]
let list: [Any] = [true, false, true, true]
retorna a matriz classificada.
Quando deve retornar nuloPor outro lado, quandolist
contém um dos seguintes exemplos
let list: [Any] = [CGPointZero, CGPoint(x:1, y:1)] // CGPoint is not comparable
let list: [Any] = [10, "Hello"] // Values of different types
eu queronil
como valor de retorno.
Qualquer ideia?