SwiftUI:使用具有 Xcode 12/iOS 14 的环境对象(--> How/where 将对象放置在环境中?)

SwiftUI: Using environment objects with Xcode 12/iOS 14 (--> How/where to place an object in the environment?)

在编写我的第一个 iOS 应用程序的过程中,我遇到了一个新问题,到目前为止我还没有找到解决方案:我想使用环境对象将信息传递给各种视图。

我知道对此有很多解释和教程(例如 hackingwithswift.com:https://www.hackingwithswift.com/quick-start/swiftui/how-to-use-environmentobject-to-share-data-between-views

但是,根据我目前的理解,这些教程的全部内容似乎都在使用 Xcode 12 中不存在的“场景委托”。

因此,我正在努力 how/where 在我的应用程序环境中放置一个环境对象,以及如何将它连接到我的内容 view/other 视图。

该代码段放在哪里?它会进入内容视图吗?

class UserSettings: ObservableObject {
@Published var score = 0
}

有人能帮忙解决这个问题吗?我将不胜感激:)

你可以在window组的场景中创建和注入它,比如

@main
struct MyApp: App {
    @StateObject var userSettings = UserSettings()

    var body: some Scene {
        WindowGroup {
           ContentView().environmentObject(userSettings)
        }
    }
}