This document outlines the Model-View-ViewModel (MVVM) pattern and compares it to related patterns like MVC. It defines the key components in MVVM - the model, view, and view model. The view model acts as an adapter between the model and view, containing business logic and handling data binding. Benefits of MVVM include testable view models and a cleaner separation of concerns between the view/controller and underlying data/logic. ReactiveCocoa is mentioned as a framework that can provide the data bindings in MVVM. Core Data is one option for building the model/data layer.
22. Benefits of MVVM
View models are testable
View models can be used like models
View models are (mostly) platform-agnostic
View and view controllers are simpler