Member-only story
MVVM in iOS
Reduce the size of your massive view controller by moving logic into the view model

There is an update to this article: MVVM in iOS (Revisited).
Other related articles: view model validation in iOS and view model and networking.
Lately, there has been a lot of talk about MVVM in iOS applications and how it can help to tame the symptoms of massive view controllers.
The default architecture pattern for building iOS applications is MVC (model view controller), and although there is nothing wrong with the MVC pattern, most of the time, the view controller becomes a code dumping-ground.
MVVM is not something new that just popped out of nowhere, it has been used for several years, especially in the .NET community. I have worked on many large-scale WPF (Windows Presentation Foundation) applications where MVVM was used successfully.

Having said that, comparing the .NET WPF framework to the iOS framework is not fair because WPF uses XAML and the power of dependency properties to perform two-way seamless binding.