美文网首页
SwiftUI5 新增加的Observable宏的基本用法。

SwiftUI5 新增加的Observable宏的基本用法。

作者: liaoworkinn | 来源:发表于2023-07-04 15:53 被阅读0次

在SwiftUI5 中推出了@Observable这个宏,用来代替之前 ObservableObject 协议配合@Published 宏来绑定模型属性和视图的功能。

在之前代码中如果想通过模型的属性来绑定视图,写法如下:

class MyModel: ObservableObject {
    @Published var text = "Hello, world!"

    var name = "liaoworking."
}

struct ContentView: View {
    @StateObject var model = MyModel()

    var body: some View {
        Text(model.text)
        Button("Change Model") {
            model.text = "Hello, SwiftUI!"
        }
    }
}

当点击一下 Button, 文字显示就会变成 "Hello, SwiftUI!"

在SwiftUI5推出Observable宏以后,我们可以用新的写法去实现上面的需求。
具体代码如下:

// 改 ObservableObject 协议为@Observable 
@Observable class MyModel {
    // text绑定的view会自动实现监听
    var text = "Hello, world!"
    
    // 不需要监听的属性可以用ObservationIgnored宏来修饰。
    @ObservationIgnored
    var name = "liaoworking."
}

struct ContentView: View {
    // 模型前使用@State去修饰
    @State private var model = MyModel()

    var body: some View {
        Text(model.text)
        Button("Change Model") {
            model.text = "Hello, SwiftUI!"
        }
    }
}

目前该特性只支持XCode15可用, 版本支持为iOS17极以上版本。
具体官方迁移文档如下:
Migrating from the Observable Object protocol to the Observable macro

相关文章

  • 18.RxJava与Retrofit

    一、RxJava1,基本用法创建 Observable、创建 Observer、 SubscribeObserva...

  • DEFINE关键字的用法

    一、基本用法 #DEFINE关键字在C/C++中用作宏处理,基本的用法为: 在代码的预处理阶段,编译器会把所有的宏...

  • React mobx基本用法总结

    基本用法 定义store。store主要包含如下三部分内容:import { observable, action...

  • iOS关键字(部分)

    一、Const 宏的常见用法:常用的字符串、代码抽成宏。(另:不会造成内存增加) const(常量):当有字符串常...

  • RxJS源码解读之生成observable的函数

    生成observable的函数 Rxjs中大概提供了32个函数,这些函数执行都返回Observable实例。 用法...

  • 宏定义与常量的基本用法

    宏定义 宏定义分为两种:带参定义与无参定义 带参定义 无参数定义 常量定义 常量定义也分为两种:全局与局部(相对整...

  • Subject 学习

    Subjects 基本介绍 Subjects自身即是订阅者,也是Observable .因为自身能够动态接收新的值...

  • IOS宏用法

    iOS宏的经典用法Apple的习惯attribute iOS宏的经典用法1.常量宏、表达式宏 define kTa...

  • 【Office技巧】宏

    VBA-宏基本用法 今天就来港下office里最藏在深闺人未识的功能——宏。 一般听说过“宏”的电脑小白们,对“宏...

  • ##宏与const

    宏与const 宏与const 的使用: 宏的用法: 一般字符串抽成宏,代码抽成宏使用。 const用法:一般常用...

网友评论

      本文标题:SwiftUI5 新增加的Observable宏的基本用法。

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