Vorrei ordinare il mio array struct swift usando un altro metodo di confronto (come localizedCompare, caseInsensitiveCompare o localizedCaseInsensitiveCompare). La funzione di ordinamento dell'array di stringhe standard rapido ordina tutte le lettere maiuscole prima delle lettere minuscole. Ecco il mio codice:Swift: ordina array con confronto alternativo
import Foundation
struct DataStruct {
struct Item {
let title: String
let number: Int
}
static var items = [
Item(title: "apple", number: 30),
Item(title: "Berry", number: 9),
Item(title: "apple", number: 18)]
}
class DataFunctions {
func sortItemsArrayTitle() {
DataStruct.items.sort { $0.title < $1.title }
}
}
Una volta chiamato, il codice sopra risulta in [Bacca, mela, mela]. Inaccettabile. Eventuali suggerimenti?
DataStruct.items.sort {$ 0.title.lowercaseString < $ 1.title.lowercaseString} –