How Deleting Swift Code Can Make You a More Valuable iOS Developer—Clean iOS Codebase Series

How Deleting Swift Code Can Make You a More Valuable iOS Developer—Clean iOS Codebase Series

The ability to develop and maintain a clean iOS codebase is essential to becoming a remarkable iOS Developer. A simple but extremely valuable action you can take is removing unused code—mercilessly. At the same time, we meet many developers afraid of deleting code because they might need it in the future.

Today, you’ll learn two ways for retrieving deleted code from a git repository and how good practices for commits facilitate the maintenance of a clean iOS codebase.



Read More

Connecting the dots: BDD, TDD, Use Cases, Architecture and Modular Design

Connecting the dots: BDD, TDD, Use Cases, Architecture and Modular Design

In this episode, we start creating the previously shown Feed feature, by establishing well-defined requirements to guide us in the upcoming development phase.

Read More

How to prepare for an iOS interview

How to prepare for an iOS interview

A question we are frequently asked, usually by less experienced iOS developers, is how to prepare for an iOS interview. Most candidates look for our advice for preparing on technical details such as what frameworks or libraries to invest their time in, what architectural patterns should they be using, and other technical details.

Read More

Migrating to Swift 4.2 using a TDD + Git workflow [S01 Extras]

Migrating to Swift 4.2 using a TDD + Git workflow [S01 Extras]

In this episode, we migrate the Quiz project and its dependencies to Swift 4.2 and modernize our code with the newest additions.

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.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

iOS Continuous Integration Setup with Git, GitHub, Travis CI, TDD, Xcode [S01 Extras]

iOS Continuous Integration Setup with Git, GitHub, Travis CI, TDD, Xcode [S01 Extras]

In this episode, we set up a Continuous Integration (CI) pipeline for our Quiz project. The goal for this initial setup and integration with GitHub is to guarantee we only merge changes that don’t break the build and are passing all tests.

Read More