Clean iOS Architecture pt.7: VIP (Clean Swift) – Design Pattern or Architecture?

Clean iOS Architecture pt.7: VIP (Clean Swift) – Design Pattern or Architecture?

Today we're going to analyze the VIP (Clean Swift) Architecture. And, as we did in previous videos with VIPER, MVC, MVVM, and MVP, we will decide if we can call VIP a Software Architecture or a Design Pattern.

Read More

Clean iOS Architecture pt.4: Clean Memory Management in Swift with WeakRef

Clean iOS Architecture pt.4: Clean Memory Management in Swift with WeakRef

We must be careful with `weak` properties as they can sometimes damage the design of our systems, especially when crossing module boundaries. In this video, we’d like to share with you a way to avoid retain cycles by using a `WeakRef` type, so there's no need to make your class properties `weak`.

Read More

S01E21: [TDD 🍅 18] Testing Presenters in Swift pt.2

S01E21: [TDD 🍅 18] Testing Presenters in Swift pt.2

In this episode, we finish test-driving the ResultsPresenter and QuestionPresenter implementations.

Read More

S01E20: [TDD 🍅 17] Testing Presenters in Swift pt.1

S01E20: [TDD 🍅 17] Testing Presenters in Swift pt.1

In this episode, we test-drive the ResultsPresenter implementation.

Read More

S01E09: [TDD 🍅 8] Establishing a Presentation Layer in Swift

S01E09: [TDD 🍅 8] Establishing a Presentation Layer in Swift

In this episode, we continue the development of the UI as we start implementing the ResultsViewController, a class responsible for showing the result of a finished game. Unlike the QuestionViewController, we reach a point where we need to deal with more complicated logic for displaying the right information on the screen...

Read More