My blog


Exposing view model properties in ReactiveCocoa

Providing view model data for the view layer to bind to is a vital part of MVVM. Here's how you can do this using ReactiveCocoa's native Swift API.

Read more

Animating table row changes using changesets with MVVM

We can do better than reloading entire table views whenever new data arrives. The MVVM architecture provides a good foundation for detecting changes in list items and moving their rows into place, to our users' delight.

Read more

Migrating to Swift 2 and ReactiveCocoa 4

The Swift language is moving fast, and Xcode 7 requires Swift 2. Here's what you need to do to bring ReactiveCocoa 4 with Swift 2 support to your project.

Read more

Sharing state between views with MVVM

No view is an island, and often they like to depend on each other in intricate ways. Luckily, view models offer some nice ways to share state without losing your sanity.

Read more

How getting rid of singletons boosts testability

The MVVM architecture can help bring your app to a much more testable state. But to really reap its benefits, you need to look beyond the good ol' singleton pattern.

Read more

Navigation with MVVM on iOS

How to pass data when transitioning between views, without breaking the MVVM pattern.

Read more

Anatomy of an MVVM iOS app

A high-level overview of the different parts that make up an MVVM app and how they relate to each other, spiced with a few code examples.

Read more

MVVM with ReactiveCocoa 3, in Swift

There are plenty of good introductions to the MVVM architecture on iOS. The next challenge is to apply these concepts in a real-world scenario! To find out how this could look like, I created an open-source Swift app that interacts with a remote server, using the brand-new ReactiveCocoa 3.

Read more