Transforming values with setters and getters

We can define a property with a setter method that transforms the values that will be set as valid values for a related property. The getter method would just need to return the value of the related property to generate a property that will always have valid values even when it is initialized. This way, we can make sure that whenever we require the property value, we will retrieve a valid value.

The following code replaces the previously declared runningSpeedScore property declaration that worked with a property observer, specifically, a didSet method. In this case, the setter transforms the values lower than 0 to 0 and values higher than 50 to 50. The setter stores either the transformed or original ...

Get Swift 3 ObjectOriented Programming - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.