美文网首页
SwiftUI属性装饰器(@State)

SwiftUI属性装饰器(@State)

作者: fanren | 来源:发表于2021-06-08 11:30 被阅读0次

    一、简介

    使用@State修饰某个属性后,SwiftUI将会把该属性存储到一个特殊的内存区域内,并且这个区域和View struct是隔离的;
    当@State修饰的属性的值发生变化后,SwiftUI会根据该属性重新绘制视图;

    二、demo

    struct ContentView: View {
        
        @State var content = "测试文本"
       
        var body: some View {
         
            VStack(alignment: .leading) {
                Text(self.content)
                TextField("Placeholder", text: $content).background(Color.gray)
            }
            .padding()
        }
    }
    
    
    展示结果

    三、不同端对比

    • Flutter
      SwiftUI的@State与Flutter中的StatefulWidget类似;都是通过修改State中的属性,来更新视图;
      不同的是实现方式不同;

    • Vue
      SwiftUI的@State与Vue中data很相似;
      SwiftUI中,@State修饰的属性值发生变化后,会更新视图;
      Vue中,data中的属性值发生变化后,引用该属性的元素,也会发生变化;

    四、实例

    实例代码

    相关文章

      网友评论

          本文标题:SwiftUI属性装饰器(@State)

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