美文网首页
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