Tag: 没有了

是否有可能允许didSet在初始化过程中调用Swift?

题 苹果的文档指出: 当一个属性第一次初始化时,willSet和didSet观察者不会被调用。 只有当属性值设置在初始化上下文之外时,才会调用它们。 在初始化过程中是否可以强制这些被调用? 为什么? 比方说,我有这个class class SomeClass { var someProperty: AnyObject { didSet { doStuff() } } init(someProperty: AnyObject) { self.someProperty = someProperty doStuff() } func doStuff() { // do stuff now that someProperty is set } } 我创build了方法doStuff ,使处理调用更简洁,但我宁愿只是在didSet函数内处理属性。 有没有办法强制这个在初始化过程中调用? 更新 我决定删除我的类的方便初始化程序,并强制您在初始化后设置属性。 这让我知道didSet总是会被调用。 我还没有决定这是否更好,但它适合我的情况。