[swift-users] Should Array's `append(_)` function cause `didSet`?
Marco S Hyman
marc at snafu.org
Fri Jul 7 20:59:47 CDT 2017
> init(keysAndValues:Dictionary<String, String>) {
> self.keys.append(contentsOf: keysAndValues.keys)
> }
>
> Above code doesn't call `didSet` in playground. My .swift file is similar and didn't call `didSet` either. However, if without a struct, `didSet` is called.
“If you don’t need to compute the property but still need to provide code that is run before and after setting a new value, use willSet and didSet. The code you provide is run any time the value changes outside of an initializer.”
Excerpt From: Apple Inc. “The Swift Programming Language (Swift 3.1).” iBooks. https://itun.es/us/jEUH0.l
Note “outside of an initializer”. didSet and willSet are not called in initializers.
More information about the swift-users
mailing list