美文网首页
SwiftUI—使用EnvironmentObject进行页面间

SwiftUI—使用EnvironmentObject进行页面间

作者: anny_4243 | 来源:发表于2020-07-16 18:08 被阅读0次

    原文链接:https://github.com/fzhlee/SwiftUI-Guide#-%E7%AC%AC5%E8%8A%82enviromentobject-

    本节课演示如何利用EnvironmentObject,进行页面之间的数值传递。使用环境对象,您可以在整个程序的任意页面设置和读取该对象。

    示例代码:

    import SwiftUI
    
    class UserModel: ObservableObject {
        @Published var nickName: String = ""
    }
    
    struct ContentView : View {
        
        @EnvironmentObject var model : UserModel //添加一个属性,该属性拥有@EnvironmentObject标记,所以当需要使用model实例属性时,只需要从环境中获取该属性即可
        @State var isPresented = false //标识是否滑入二级页面
        
        var body: some View {
            NavigationView {
    
                VStack{
                    TextField("Your nickname", text: $model.nickName)
                    .padding()
                    
                    NavigationLink(destination: DetailView()) {
                        Text("Show Detail")
                    }
                }
            }
        }
    }
    
    #if DEBUG
    struct ContentView_Previews : PreviewProvider {
        static var previews: some View {
            let model = UserModel()
            model.nickName = "Super man"
            return ContentView().environmentObject(model)
        }
    }
    #endif
    

    相关文章

      网友评论

          本文标题:SwiftUI—使用EnvironmentObject进行页面间

          本文链接:https://www.haomeiwen.com/subject/kdkmhktx.html