SwiftUI-如何在@ObserveObject中获取@EnvironmentObject数据
是否可以在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很
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测试。