简体   繁体   English

我可以将Bool作为环境对象传递给SwiftUI中的subView吗?

[英]Can i pass a Bool as an environment object to subViews in SwiftUI?

I have a bool 我有个笨蛋

@State var isDragging: Bool

How can I pass this as an environment object to subViews? 如何将其作为环境对象传递给subViews?

You need to create an ObservableObject: 您需要创建一个ObservableObject:

class Model: ObservableObject {
    @Published var isDragging: Bool = false
}

And then use: 然后使用:

struct MyView: View {
    @EnvironmentObject var mymodel: Model

    var body : some View {
        if mymodel.isDragging { ... }
    }
}

And also, you should watch to WWDC 2019 session "Data Flow in Swift". 而且,您还应该观看WWDC 2019的“ Swift数据流”会议。 Although some of the type names have been changed since, the concepts remain the same. 尽管此后更改了一些类型名称,但概念仍然相同。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM