An app view that changes its state in complicated ways is difficult to do right. We developers have even been trying to avoid state when possible. But if you really just have to deal with a complex state-driven app view, then embrace it with a state machine.
Honestly, this is my favorite programming technique, where the really interesting stuff happens. 👍
Via iOS Dev Weekly.