3

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

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

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

因此,我正在努力研究如何/在哪里放置环境对象在我的应用程序环境中以及如何将其连接到我的内容视图/其他视图。

将此代码段放在哪里?它是否进入内容视图?

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

有人能帮忙解决这个问题吗?我会很感激 :)

4

1 回答 1

4

您可以在窗口组的场景中创建并注入它,例如

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

    var body: some Scene {
        WindowGroup {
           ContentView().environmentObject(userSettings)
        }
    }
}
于 2021-01-11T09:13:26.303 回答