Even if we are writing pure Swift code in our app, we still deal with Objective-C Frameworks like UIKit. Let's take a look at how we can improve our MVVM architecture by leveraging a little bit of Objective-C runtime and Protocol Oriented Programming. Popular MVVM setupPretty standard approach for MVVM architecture is to have both UIView and UIViewController have a corresponding ViewModel. An impr
![Better MVVM setup with POP and Runtime](https://cdn-ak-scissors.b.st-hatena.com/image/square/574b1d356d456b7572c11c7d0ae2761a5df5b5ea/height=288;version=1;width=512/https%3A%2F%2Fwww.merowing.info%2Fcontent%2Fimages%2F2022%2F07%2Fbetter-mvvm-1.png)