问题描述
在编写我的第一个 iOS 应用程序的过程中,我遇到了一个新问题,目前我无法找到解决方案:我想使用环境对象将信息传递给各种视图。
我知道对此有很多解释和教程(例如 hackingwithswift.com 上的此处:https://www.hackingwithswift.com/quick-start/swiftui/how-to-use-environmentobject-to-share-data-between-views
但是,根据我目前的理解,这些教程的全部内容似乎都使用了“场景委托”,而这在 Xcode 12 中并不存在。
因此,我在如何/在何处放置环境对象在我的应用程序环境中以及如何将其连接到我的内容视图/其他视图方面苦苦挣扎。
class UserSettings: ObservableObject {
@Published var score = 0
}
有人能帮忙解决这个问题吗?我会很感激:)
解决方法
您可以在窗口组的场景中创建并注入它,例如
@main
struct MyApp: App {
@StateObject var userSettings = UserSettings()
var body: some Scene {
WindowGroup {
ContentView().environmentObject(userSettings)
}
}
}