SwiftUI offers several mechanisms to pass data between views.
Such abundance can make it hard to decide which data flow mechanism fits any particular situation.
Those decisions cannot be taken in isolation. As in many other cases, we need to keep an app’s architecture in mind to make the correct choice.
Since the introduction of SwiftUI, the MVVM pattern has seen a new renaissance. Many developers believe that this particular pattern fits well with the SwiftUI data flow.
MVVM certainly has some good ideas, but it also brings along problems because of the various discording interpretations of the pattern and its rigidity.
In this article, we will see how MVVM fits in iOS apps written in SwiftUI, how to take advantage of its benefits, and how to avoid its problems.
Encoding and decoding data is a fundamental part of iOS apps.
That is especially true for the JSON data we get from REST APIs.
In the past, decoding JSON in iOS apps required a lot of boilerplate code and sometimes fancy techniques.
But thanks to the Codable protocols introduced of Swift 4, today we have a native and idiomatic way to encode and decode data.
The Codable protocols allow for simple JSON decoding that can sometimes take only a couple of lines of code. But they also allow for more sophisticated techniques when you have special needs.
We will explore all that in this article.
Many developers find unit testing confusing. This is made worse by the advanced techniques you need to test classes or asynchronous code, like the one for network requests.
In reality, at the base of unit testing, there are simple fundamental concepts. Once you grasp those, unit testing suddenly becomes more approachable.
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.
SwiftUI is a revolutionary way to create user interfaces on iOS and other Apple platforms.
It introduces a new declarative syntax that allows you to build user interfaces packed with features quickly.
In this article, I will show you an overview of the SwiftUI features you will need in every iOS app you will ever build.
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.