更新时间:2023-11-17 13:39:52
您的 totalScore
属性不是 @Published
,因此 SwiftUI 视图不会更新该值变化.
Your totalScore
property is not @Published
, so the SwiftUI view won't update when the value changes.
试试这个:
final class GameTracker: ObservableObject {
@Published var items: [CompletedChallenge] = []
@Published var totalScore: Int { // <-- Here!
items.reduce(0) {$0 + $1.points}
}
func add(_ completedItem: CompletedChallenge) {
items.append(completedItem)
}
}
}