我有一个swift文件,其中我定义了以下数组:
import Foundation
struct Squadre: Identifiable, Hashable {
let id = UUID()
let stagione: String
let squadra: String
let vinte: Int
let pareggiate: Int
let perse: Int
let golfatti: Int
let golsubiti: Int
let diffreti: Int
let punti: Int
let punteggio: Double
init(stagione: String, squadra: String, vinte: Int, pareggiate: Int, perse: Int, golfatti: Int, golsubiti: Int, diffreti: Int, punti: Int, punteggio: Double) {
self.stagione = stagione
self.squadra = squadra
self.vinte = vinte
self.pareggiate = pareggiate
self.perse = perse
self.golfatti = golfatti
self.golsubiti = golsubiti
self.diffreti = golfatti - golsubiti
self.punti = (vinte * 3) + (pareggiate)
self.punteggio = Double(punti + (golfatti / 100) + (diffreti / 1000))
}
static func test() -> [Squadre] {
[ Squadre(stagione: "2023/2024", squadra: "Castello", vinte: 10, pareggiate: 7, perse: 4, golfatti: 34, golsubiti: 27, diffreti: 7, punti: 37, punteggio: 37.347),
Squadre(stagione: "2023/2024", squadra: "Sole", vinte: 10, pareggiate: 7, perse: 4, golfatti: 34, golsubiti: 28, diffreti: 6, punti: 37, punteggio: 37.346),
Squadre(stagione: "2023/2024", squadra: "Spina", vinte: 11, pareggiate: 6, perse: 4, golfatti: 34, golsubiti: 27, diffreti: 7, punti: 39, punteggio: 39.347)]
}
}
现在,我有一个视图,我正在使用这个:
struct HomeView: View {
@State private var squadre: [Squadre] = Squadre.test()
然后,我想把这些数据用到List对象中,但是我想让它们按照"punteggio"排序,这样显示的第一个项目就是"Spina".
我试着用下面的方式来使用排序:
var squadreSort = squadre.sort(using: [
KeyPathComparator(\.punteggio, order: .forward)])
但没有得到任何结果.
你能帮帮我吗?
谢谢, a.