Author Archives: Matteo Manferdini

Master Swift Generics: A practical guide to code reuse

Master Swift Generics: A practical guide to code reuse

Generics are a great feature of Swift that allow you to generalize and reuse code in ways that would not be possible otherwise.

They are also a quite advanced feature and become a roadblock for many developers. The iOS SDK uses generic extensively, something that is especially true in SwiftUI.

In this article, I will show why generics exist and how to use them in your apps.

Continue reading

Become an iOS Developer in 2020: The Ultimate Guide

More and more companies rely on mobile apps, so iOS developers are in high demand.

The talent shortage keeps driving salaries higher and higher, even for entry-level positions. So, it’s understandable that more and more people want to start a career in iOS app development.

Money is not everything, of course. Many of us do it to create something we are proud of, that makes a difference in the lives of many people.

Becoming an iOS developer takes some effort though. Whatever your motivation, here is a detailed, step-by step to become an iOS developer.

Continue reading

Weak Self in Swift Made Easy: What it is and why it’s needed

When developing iOS apps in Swift, you are bound, sooner or later, to encounter weak self references. That’s especially true in the callbacks of network requests.

At first, weak self references might seem puzzling and, sometimes, annoying. In this article, we will see why they are needed and how you can fix them in your code.

Continue reading

Model-View-Controller in iOS: A Blueprint for Better Apps

Model View Controller in iOS A Blueprint for Better Apps

Since the introduction of SwiftUI, I have seen many developers write all their code inside views. Unfortunately, the simplicity of the framework seems to encourage a return of many poor practices.

But you do not build robust, maintainable apps by gluing together random pieces of code.

Sure, you can search on Google for specific tasks, copy and paste some code into your project and make it work, somehow.

That works if your app is small and simple. But as soon as you go beyond basic tutorials, you inevitably get serious problems.

That’s why the MVC and MVVM patterns exist. In this article, we will see how they apply to SwiftUI.

Continue reading

Network Requests and REST APIs in iOS with Swift (Protocol-Oriented Approach)

Network requests and REST APIs in iOS with Swift a Protocol Oriented Approach

Networking is a requirement for most modern iOS apps.

Networked apps usually interface with a remote web service that provides the data. And often, this web service is a REST API that returns data in JSON format.

Writing the networking layer of an iOS app, though, is not a simple task. To make asynchronous network calls, you need to use many features of Swift and UIKit, like the URLSession class and the Codable. Moreover, many parts of the app’s architecture need to interact, making the task more complicated than it seems.

Continue reading