ObservableObject (SwiftUI中文文档手册)

ObservableObject

具有发布者的一种对象,该对象在更改对象之前发出。

protocol ObservableObject : AnyObject

总览
默认情况下,合成器将在其任何属性更改之前发出更改后的值的发布程序。


class Contact: ObservableObject {
    @Published var name: String
    @Published var age: Int

    init(name: String, age: Int) {
        self.name = name
        self.age = age
    }

    func haveBirthday() -> Int {
        age += 1
        return age
    }
}

let john = Contact(name: "John Appleseed", age: 24)
cancellable = john.objectWillChange
    .sink { _ in
        print("\(john.age) will change")
}
print(john.haveBirthday())
// Prints "24 will change"
// Prints "25"

主题

发布变更

1、var objectWillChange: Self.ObjectWillChangePublisher

在对象更改之前发出的发布者。
需要。 提供了默认实现。

2、associatedtype ObjectWillChangePublisher : Publisher = ObservableObjectPublisher

在对象更改之前发出的发布者的类型。
需要。

实战代码

SwiftUI 读取CSV文件并显示支持不同文件载入(经典例子教程含源码)

推荐

基础文章推荐

经典教程推荐

上新

技术源码推荐

推荐文章

CoreData篇

Combine篇

TextField篇

JSON文件篇


一篇文章系列

技术交流

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。