Intro
Even before Swift was released, iOS / Cocoa developers could use third
party frameworks like ObjectiveSugar or ReactiveCocoa in order to gain
functional programming constructs like map
, flatMap
or filter
.
With Swift, they have become first class language citizens. There are
many advantages to using them over a standard for
loop. They typically
express your intent better, they require less code, and they can be
chained together in order to build up complex logic in a clear way.
In this post, I'd like to show another very cool functional addition to
Swift which can sometimes be a better solution than map
/ filter
constructs: reduce
.