I have recently run into a few problems with our MVVM architecture, which we’ve been using for the past 2 years. They are known weak points of MVVM, namely the navigation and global app state. Despite these and other shortcomings, MVVM has been growing in popularity, but other competing architectures have also been gaining ground (mostly because everyone is running away from MVC). Just like two years ago, I felt like it was time to look around and assess the state of iOS app architectures and the best practices of 2016.
Most of the materials I’ve used are linked in this awesome repo.