首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >@EnvironmentObject未正确创建

@EnvironmentObject未正确创建
EN

Stack Overflow用户
提问于 2019-12-31 14:00:04
回答 1查看 54关注 0票数 1

我想访问类的一个实例。

代码语言:javascript
复制
class MyModel: ObservableObject {
  @Published var s: String = "test"
}

通过环境。我在现场代表中实例化了它

代码语言:javascript
复制
  var m = MyModel()

然后我试着把它放到环境中

代码语言:javascript
复制
let contentView = ContentView().environment(\.managedObjectContext, context)
_ = contentView.environmentObject(m)

在内容视图中,我引用它就像

代码语言:javascript
复制
@EnvironmentObject var mod: MyModel

如果我像这样访问它

代码语言:javascript
复制
Text(mod.s)

这个应用程序崩溃了,上面写着“致命错误:没有找到ObservableObject类型的MyModel”。

我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-31 14:25:04

而不是

ContentView().environment(.managedObjectContext,上下文)_= contentView.environmentObject(m)

使用

代码语言:javascript
复制
let contentView = ContentView()
                    .environmentObject(m)
                    .environment(\.managedObjectContext, context)

它不是一个setter,是视图修饰符生成了另一个具有注入环境对象的视图。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59545039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档