Here’s a tutorial from Javier Soto on functional programming in which he goes in-depth describing some functional programming concepts using Swift examples.
In the tutorial Javier explains what a functor is, and using nice example describes what a specific type of functor – the monad – is.
You can find the tutorial on Javier Soto’s blog.