将核心数据传递到子视图

时间:2020-02-07 20:20:28

标签: core-data swiftui

我正在尝试将核心数据传递到子视图/子视图,但是我无法使其正常工作。

在我的SingleView中,我有:

struct CitySingleView: View {

    @Environment(\.managedObjectContext) var managedObjectContext

    var city: Cities

    var body: some View {

        VStack {

            HeaderView().environment(\.managedObjectContext, managedObjectContext)

            Text("\(city.name ?? "no name")") // <--- This works and prints the name

        }
    }

}

在HeaderView中,我有:

struct HeaderView: View {

    @Environment(\.managedObjectContext) var managedObjectContext

    var city: Cities?

   .......

    var body: some View {

         Text("\(city?.name ?? "Not found")").font(.system(size: 36)) // <--- This doesn't work and prints "not found"              
    }

}

我是否必须将当前城市作为参数传递给HeaderView,如果是,我该怎么做?

1 个答案:

答案 0 :(得分:0)

所以,事实证明我需要传递的论点是城市:城市....;-)