Careful With “Singleton” Lookalikes (WAY TOO COMMON)

Careful With “Singleton” Lookalikes (WAY TOO COMMON)

Have you ever been told that Singleton is an anti-pattern? Well, Singletons can be ok, but if you are not careful, they aren’t just an anti-pattern. THEY CAN BE DANGEROUS!

Read More

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.6: VIPER – Design Pattern or Architecture?

Clean iOS Architecture pt.6: VIPER – Design Pattern or Architecture?

Today we're going to analyze the VIPER iOS Architecture and decide if we can call it a Software Architecture or a Design Pattern like the MVC, MVVM and MVP design patterns we talked about in the previous video.

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

Composing View Controllers pt.4: Integration Tests vs. Contract Tests vs. UI Tests

Composing View Controllers pt.4: Integration Tests vs. Contract Tests vs. UI Tests

In this video, we're going to improve our `Swift View Controller Lifecycle Observers` by increasing the test confidence with Integration Tests.

Read More

Composing View Controllers pt.3: Lifecycle Observers in Swift

Composing View Controllers pt.3: Lifecycle Observers in Swift

In this video, you'll learn how to create your own `Swift View Controller Lifecycle Observers`. Those observers are very useful when composing and creating reusable view controllers. The solution is based on the `UIViewController Containers API` so there's no need for external frameworks, swizzling or subclassing!

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