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.
