Swiftui 找不到PageSettings类型的ObservableObject

Swiftui 找不到PageSettings类型的ObservableObject,swiftui,ios13,Swiftui,Ios13,我想使用另一个视图来调用@EnvironmentObject来更改它的值。但我得到了这个错误。这是我的语法 我的班级 class PageSettings: ObservableObject { @Published var currentPage = "splash" @Published var jobTitle = "Pick a job!" } 视图(在该视图中,我得到一个文本“Pick A job!”,我想在单击另一个视图中名为“JobTitleView”的另一

我想使用另一个视图来调用@EnvironmentObject来更改它的值。但我得到了这个错误。这是我的语法

我的班级

   class PageSettings: ObservableObject {
    @Published var currentPage = "splash"
    @Published var jobTitle = "Pick a job!"
}
视图(在该视图中,我得到一个文本“Pick A job!”,我想在单击另一个视图中名为“JobTitleView”的另一个选项时对其进行更改)

职务头衔视图

struct JobTitleView: View {

    @EnvironmentObject var title: PageSettings
    let options = ["Manager", "Employee"]

    var body: some View {
        ForEach(options) { item in
            Button(action:{

                self.title.jobTitle = item
                UIApplication.shared.windows[0].rootViewController?.dismiss(animated: true, completion: {})
            }){
                Text(item).font(.custom("Avenir Next Regular", size: 30))
            }
        }
    }
}
当我按下某个项目时,出现以下错误:

致命错误:未找到PageSettings类型的ObservableObject。 页面设置的View.environmentObject(:)可能作为此视图的祖先丢失。示例:file/BuildRoot/Library/Caches/com.apple.xbs/Sources/Monoceros_Sim/Monoceros-39.4.3/Core/environmentObject.swift,第55行

另外,我得到了一个扩展,可以使用ForEach“无id”


在创建
Test
的地方,必须将其用作

Test().environmentObject(PageSettings())
最可能的情况是在这个自定义创建中(在视图生成器层次结构中,为子视图自动注入环境对象,但在本例中,我认为不是这样)


您知道如何将子视图的值注入到视图中吗?因为如果我这样做:envar=“HI”ViewA(envar)->ViewB(envar)(我将在我的ViewB中获得“HI”,并且我只能在ViewB中更改该值,我想使用我的ViewB更改envar的值)
extension String: Identifiable {
    public var id: String {
        return self
    }
}
Test().environmentObject(PageSettings())
let alertHC = UIHostingController(rootView: 
         JobTitleView().environmentObject(self.pageSettings))