Donny Wals
917 FOLLOWERS
I'm a curious, passionate iOS Developer from the Netherlands who loves learning, sharing knowledge and programming in general. I have experience with several technologies like Python, SQL, PHP, Javascript but iOS has been my passion for a while now. If you're looking for a speaker for an event or need somebody to help you out with an app you're building, don't hesitate to..
Donny Wals
9h ago
As teams grow and companies mature you’ll often find that it gets harder and harder to manage processes that seemed to be so simple before. When I worked in startups one of my favorite things was how quick the feedback cycle was on pretty much everything I did. When someone designed a new feature we could build that and ship it on Testflight as quick as a couple of hours. If the designer liked…
Source ..read more
Donny Wals
2d ago
Sometimes when you’re programming you have some properties that are pretty expensive to compute so you want to make sure that you don’t perform any work that you don’t absolutely must perform. For example, you might have the following two criteria for your property: If these two criteria sound like what you’re looking for, then lazy vars are for you. A lazy variable is defined as follows…
Source ..read more
Donny Wals
2d ago
Swift 5.5 introduced loads of new concurrency related features. One of these features is the annotation that we can apply to classes, functions, and properties. In this post you’ll learn several techniques that you can use to dispatch your code to the main thread from within Swift Concurrency’s tasks or by applying the main actor annotation. If you’d like to take a deep dive into learning…
Source ..read more
Donny Wals
1w ago
If you’re keen on reading about what’s new in Swift or learn about all the cool things that are coming up, you’re probably following several folks in the iOS community that keep track and tell you about all the new things. But what if you read about an upcoming Swift feature that you’d like to try out? Do you have to wait for it to become available in a new Xcode release? Sometimes the answer is…
Source ..read more
Donny Wals
2w ago
When you start learning about actors in Swift, you’ll find that explanations will always contain something along the lines of “Actors protect shared mutable state by making sure the actor only does one thing at a time”. As a single sentence summary of actors, this is great but it misses an important nuance. While it’s true that actors do only one thing at a time, they don’t always execute function…
Source ..read more
Donny Wals
3w ago
It’s common for developers to leverage protocols as a means to model and abstract dependencies. Usually this works perfectly well and there’s really no reason to try and pretend that there’s any issue with this approach that warrants an immediate switch to something else. However, protocols are not the only way that we can model dependencies. Often, you’ll have a protocol that holds a handful…
Source ..read more
Donny Wals
1M ago
A while ago I’ve published a post that explains how you can use AsyncStream to build your own asynchronous sequences in Swift Concurrency. Since writing that post, a new approach to creating AsyncStream objects has been introduced to allow for more convenience stream building. In this post, I’ll expand on what we’ve already covered in the previous post so that we don’t have to go over everything...
Source ..read more
Donny Wals
1M ago
The long awaited iOS 17.4 and iPadOS 17.4 have just been released which means that we could slowly but surely start seeing alternative app stores to appear if you’re an EU iOS user. Alongside the 17.4 releases Apple has made Xcode 15.3 and Swift 5.10 available. There’s not a huge number of proposals included in Swift 5.10 but that doesn’t make this release less significant. With Swift 5.10...
Source ..read more
Donny Wals
2M ago
When you’re decoding JSON, you’ll run into situations where you’ll have to decode dates every once in a while. Most commonly you’ll probably be dealing with dates that conform to the ISO-8601 standard but there’s also a good chance that you’ll have to deal with different date formats. In this post, we’ll take a look at how you can leverage some of Swift’s built-in date formats for en- and decoding...
Source ..read more
Donny Wals
2M ago
When Swift 2.0 added the keyword to the language, folks were somewhat divided on its usefulness. Some people preferred designing their APIs with an (at the time) unofficial implementation of the type because that worked with both regular and callback based functions. However, the language feature got adopted and a new complaint came up regularly. The way in Swift was designed didn’t allow...
Source ..read more