Swift initialization时set的一个坑

代码如下

class NameClass: NSObject {
    
    var name: String {
        didSet {
            print(name) // 这里的值,没有打印
        }
    }

    override init() {
        self.name = "tom"
        super.init()
    }
    
}

let nameClass = NameClass()
  • 在initialization给name属性赋值,set方法是不会执行的(原因暂时不知,如有好的原因请指教)

你可能感兴趣的:(Swift initialization时set的一个坑)