当前位置: 首页 > news >正文

SwiftUI 界面状态 成员变量 @State @Buiding immutable

SwiftUI会根据成员属性状态自动更新界面的显示。

struct View成员属性分为三种:变量、常量、绑定

1、变量

使用修饰符 @State  

不能单独使用var,单用var不能修改

单独用var修改会报错:Cannot assign to property: 'self' is immutable

只监控在自有body中的修改,在其他位置修改不会更新视图

struct PlayerView: View {
    @State private var isPlaying: Bool = false
    
    var body: some View {
       Button(action: {
        self.isPlaying.toggle()
        }) {
            Image(systemName: isPlaying ? "pause.circle" : "play.circle")
        }
    }
}

2、常量

使用修饰符 let 或var

单用var 为常量

struct PlayerView: View {
    let episode: Episode // The queued episode.
    @State private var isPlaying: Bool = false
    
    var body: some View {
        VStack {
            // Display information ab

相关文章:

  • Java 进阶集合和数据结构
  • RabbitMQ、RocketMQ、Kafka常见消息队列不得不知道的事
  • 简单工厂模式、工厂模式、抽象工厂模式(含C++代码)
  • 自动化测试之路 —— Appium输入及模拟手势
  • 使用聚类(K-means)分析方法对骑手进行分类标签定义
  • Z-Score模型的进阶版:Zeta模型
  • 从零开始配置vim(20)——模糊查询
  • 【CSAPP】现代操作系统前几章
  • React全家桶
  • 聊一聊密钥交换
  • 安装 ZooKeeper 并配置服务
  • 【时间序列】时间序列预测基本方法:移动平均(SMA,EMA,WMA)
  • 电脑重装系统开机后运行慢怎么办
  • [高性能] 关于如何高效的往本地写入视频
  • 【C++】string类
  • 230. Kth Smallest Element in a BST
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • bootstrap创建登录注册页面
  • Date型的使用
  • ES10 特性的完整指南
  • JavaScript 基础知识 - 入门篇(一)
  • miaov-React 最佳入门
  • node-glob通配符
  • Otto开发初探——微服务依赖管理新利器
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • windows下如何用phpstorm同步测试服务器
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 智能网联汽车信息安全
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​卜东波研究员:高观点下的少儿计算思维
  • ###51单片机学习(2)-----如何通过C语言运用延时函数设计LED流水灯
  • #宝哥教你#查看jquery绑定的事件函数
  • (39)STM32——FLASH闪存
  • (c语言)strcpy函数用法
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (六)vue-router+UI组件库
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (全注解开发)学习Spring-MVC的第三天
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • .net core使用ef 6
  • .net 程序发生了一个不可捕获的异常
  • .net开源工作流引擎ccflow表单数据返回值Pop分组模式和表格模式对比
  • @Transactional 详解
  • [ C++ ] template 模板进阶 (特化,分离编译)
  • [BZOJ1040][P2607][ZJOI2008]骑士[树形DP+基环树]
  • [C++]AVL树怎么转
  • [CISCN2019 华东南赛区]Web11
  • [Everyday Mathematics]20150130
  • [go] 迭代器模式
  • [HDU 3555] Bomb [数位DP]
  • [HTTP]HTTP协议的状态码