SwiftUI 基础之@State 有什么用

使用Swift,我们知道所有结构都是值类型,而类是引用类型。这是我们需要牢记的

@State介绍

Swift 5.1 引入的新关键词,官方的定义有些抽象

A persistent value of a given type, through which a view reads and monitors the value.

一个给给定类型的持久化值,通过这个值view可以读取并监控这个数值。

用大白话讲,@State就是一个标签,贴之前视图是不可以修改这个值;贴了之后,只要你修改这变量,界面就会跟着同步修改。这个是现代界面语言都是支持的特性。

由于值类型是不可修改的

SwiftUI 基础之@State 有什么用_第1张图片
image.png

实用@State 变不可能为可能

struct ContentView: View {
    @state private var booked = false
    var body: some View {
        VStack{
            HStack{
            Text("Seat is \(booked ? "Booked":"Available")")
            Image(systemName: booked ? "xmark":"checkmark")
                .foregroundColor(booked ? .red :.green)
            }.font(.largeTitle)
            Button(booked ? "Release":"Book"){
                self.booked.toggle()
            }
        }
        
    }
    
}
SwiftUI 基础之@State 有什么用_第2张图片
image.png

技术交流

QQ:3365059189
SwiftUI技术交流QQ群:518696470

更多SwiftUI教程和代码关注专栏

  • 请关注我的专栏 SwiftUI教程与源码

你可能感兴趣的:(SwiftUI 基础之@State 有什么用)