Swiftui SKMOVE(查看)莫名其妙地运行了两次

Swiftui SKMOVE(查看)莫名其妙地运行了两次,swiftui,skscene,skview,spriteview,Swiftui,Skscene,Skview,Spriteview,我希望有人能告诉我为什么会发生这种情况,以及如何解决它。在SwiftUI ContentView中,我使用SpriteView()呈现一个场景 struct ContentView: View { @Environment(\.presentationMode) var presentationMode @EnvironmentObject var appData : AppData @ObservedObject var viewModel = ViewModel()

我希望有人能告诉我为什么会发生这种情况,以及如何解决它。在SwiftUI ContentView中,我使用SpriteView()呈现一个场景

struct ContentView: View {
    @Environment(\.presentationMode) var presentationMode
    @EnvironmentObject var appData : AppData
    @ObservedObject var viewModel = ViewModel()
    
    var gameScene: SKScene {
        let scene = GameScene(size: CGSize(width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height))
        scene.viewModel = self.viewModel
        scene.scaleMode = .aspectFill
        return scene
        }
    
    var summaryScene: SKScene {
        let scene = SummaryScene(size: CGSize(width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height))
        scene.viewModel = self.viewModel
        scene.scaleMode = .aspectFill
        return scene
        }
 
var body: some View { 
    ZStack{  
        GeometryReader { geometry in
            SpriteView( scene:  chooseScene(for: viewModel.complete))
                .frame(width: geometry.size.width, height: geometry.size.height)
            }
            .edgesIgnoringSafeArea(.all)
        VStack{
...
           }
       }
   }
func chooseScene(for complete: Bool) -> {
    complete ? summaryScene : gameScene
}
游戏场景中的相关代码如下:

class GameScene: SKScene { 
...
override func didMove(to view: SKView) {
        print("did move to view")
        backgroundColor = UIColor(red: 30 / 255, green: 32 / 255, blue: 53 / 255, alpha: 1.0)
        layoutScene()
        startCounter()
    }
print语句告诉我didMove(to view)被调用了两次,结果屏幕上出现了一个非常简短的闪烁。否则,一切都会好起来的。 我给现场打电话的方式有明显的问题吗?还是我应该去别处寻找原因?谢谢