SwiftUI-如何在@ObserveObject中获取@EnvironmentObject数据

SwiftUI-如何在@ObserveObject中获取@EnvironmentObject数据,swiftui,Swiftui,是否可以在ObserveObject中使用@EnvironmentObject 这给了我一个错误: Fatal error: No ObservableObject of type EntryViewModel found. A View.environmentObject(_:) for EntryViewModel may be missing as an ancestor of this view.: file SwiftUI, line 0 我知道@EnvironmentObject很

是否可以在ObserveObject中使用@EnvironmentObject

这给了我一个错误:

Fatal error: No ObservableObject of type EntryViewModel found. A View.environmentObject(_:) for EntryViewModel may be missing as an ancestor of this view.: file SwiftUI, line 0
我知道@EnvironmentObject很好,因为我在其他地方使用它

如果没有,我如何获得信息

class ResultsViewModel: ObservableObject {
    @EnvironmentObject var entry: EntryViewModel
    ...
}
多谢各位

是否可以在ObserveObject中使用@EnvironmentObject

不,不是@EnvironmentObject只能在视图中使用

如果没有,我如何获得信息

class ResultsViewModel: ObservableObject {
    @EnvironmentObject var entry: EntryViewModel
    ...
}
一种可能的解决方案是将其传入
init

class ResultsViewModel: ObservableObject {
    var entry: EntryViewModel

    init(entry: EntryViewModel) {
        self.entry = entry
    }
}

另一个解决方案可能是使用or(可能是最好的)。

我尝试了init(),但没有成功。引发了其他问题。谢谢。@diogenes EnvironmentObject有点像一个单独的视图。如果你想让它一直可用,你可能需要使用单亲家庭,或者这有点超过我的工资等级。正在研究。。。谢谢。有趣的是,您可以在ObservieObject中使用环境。尽管文档将环境描述为“从视图环境中读取值的属性包装器”。@SerhiiK是这样吗?请确认:)我正在运行go测试。