Chciałbym posortować moją szybką tablicę struct przy użyciu innej metody porównywania (np. LocalizedCompare, caseInsensitiveCompare lub localizedCaseInsensitiveCompare). Funkcja szybkiego standardowego sortowania ciągów znaków zamawia wszystkie wielkie litery przed małymi literami. Oto mój kod:Swift: sortowanie z alternatywnym porównaniem
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 }
}
}
Po wywołaniu powyższy kod oznacza [Jagoda, jabłko, jabłko]. Gorszący. Jakieś sugestie?
DataStruct.items.sort {$ 0.title.lowercaseString < $ 1.title.lowercaseString} –