SE-0268 adjusts the way the didSet
property observers work so that they are more efficient. This doesn’t require a code change unless you were somehow relying on the previous buggy behavior; you’ll just get a small performance improvement for free.
Internally, this change makes Swift not retrieve the previous value when setting a new value in any instance where you weren’t using the old value, and if you don’t reference oldValue
and don’t have a willSet
Swift will change your data in-place.
If you do happen to be relying on the old behavior, you can work around it simply by referencing oldValue
to trigger your custom getter, like this:
didSet {
_ = oldValue
}
SAVE 50% To celebrate WWDC23, all our books and bundles are half price, so you can take your Swift knowledge further without spending big! Get the Swift Power Pack to build your iOS career faster, get the Swift Platform Pack to builds apps for macOS, watchOS, and beyond, or get the Swift Plus Pack to learn advanced design patterns, testing skills, and more.
Download all Swift 5.3 changes as a playground Link to Swift 5.3 changes
Link copied to your pasteboard.