我在玩 SwiftUI,我有一个看起来像这样的类:
class Foo: ObservableObject {
@Published var foo: Int! { // Implicit unwrapped optional
didSet {
print("foo")
}
}
init() {
self.foo = 1
}
}
Run Code Online (Sandbox Code Playgroud)
didSet 总是被调用。根据Apple 文档,不应调用它。@Published
属性包装器有什么特别之处吗?
mat*_*att -3
规则是初始化期间不会调用 setter 观察者。但是当你设置这个属性时,初始化就结束了!该属性已被赋予其初始值,即nil
。因此,即使您在一个init
方法中,在初始化期间您也不是 \xe2\x80\x9cd,并且 setter 观察器运行。
归档时间: |
|
查看次数: |
148 次 |
最近记录: |