O'Reilly logo

Swift Functional Programming - Second Edition by Dr. Fatih Nayebi

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

An example

We understand that there are cases where immutability makes our life harder. We barely touched the surface of these problems in a previous section. We will examine issues in more detail in the following chapters.

Let's redevelop our Product example with a FP style and compare the outcome to its OOP counterpart.

Let's use struct and make all properties in our Product example immutable and examine the outcome:

struct FunctionalProduct {     let name: String     let price: Double     let quantity: Int     let producer: Producer } 

Now we have struct instead of class and all properties are immutable. Also, we do not need an init method as struct provides it automatically.

We also need to modify our ProductTracker class:

 struct FunctionalProductTracker ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required