Protocols and MVVM in Swift to avoid repetition Thomas Degry demonstrates how we can use MVVM and protocols to avoid achieve two goals: avoiding massive view controllers (MVC!), and having as little repetitive code as possible. It's a nice simple use of a protocol to create a more generic table view, and it's something I have myself used in projects. Posted on May 23, 2017 #protocol #MVVM