我可以将 Bool 作为环境对象传递给 SwiftUI 中的子视图吗?
Can i pass a Bool as an environment object to subViews in SwiftUI?
我有一个布尔值
@State var isDragging: Bool
如何将其作为环境对象传递给子视图?
您需要创建一个 ObservableObject:
class Model: ObservableObject {
@Published var isDragging: Bool = false
}
然后使用:
struct MyView: View {
@EnvironmentObject var mymodel: Model
var body : some View {
if mymodel.isDragging { ... }
}
}
此外,您应该观看 WWDC 2019 session "Data Flow in Swift"。尽管此后某些类型名称已更改,但概念保持不变。
我有一个布尔值
@State var isDragging: Bool
如何将其作为环境对象传递给子视图?
您需要创建一个 ObservableObject:
class Model: ObservableObject {
@Published var isDragging: Bool = false
}
然后使用:
struct MyView: View {
@EnvironmentObject var mymodel: Model
var body : some View {
if mymodel.isDragging { ... }
}
}
此外,您应该观看 WWDC 2019 session "Data Flow in Swift"。尽管此后某些类型名称已更改,但概念保持不变。