且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

将数据从 SpriteKit 场景传回 SwiftUI

更新时间: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)
   }
}
}