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 As...
https://www.donnywals.com/building-an-asyncsequence-with-asyncstream-makestream/
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 t...
https://www.donnywals.com/everything-you-need-to-know-about-swift-5-10/
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-...
https://www.donnywals.com/working-with-dates-and-codable-in-swift/
When Swift 2.0 added the throws keyword to the language, folks were somewhat divided on its usefulness. Some people preferred designing their APIs with an (at the time) unofficial implementation ...
https://www.donnywals.com/designing-apis-with-typed-throws-in-swift/
Swift’s current concurrency model leverages tasks to encapsulate the asynchronous work that you’d like to perform. I wrote about the different kinds of tasks we have in Swift in the past. You...
https://www.donnywals.com/how-to-determine-where-tasks-and-async-functions-run-in-swift/
With iOS 17, we’ve gained a new way to provide observable data to our SwiftUI views. Until iOS 17, we’d use either an ObservableObject with @StateObject, @ObservedObject, or @EnvironmentObjec...
https://www.donnywals.com/comparing-observable-to-observableobjects/
As we work on projects, we usually add more code than we remove. At least that’s how things are at the beginning of our project. While our project grows, the needs of the codebase change, and w...
https://www.donnywals.com/writing-code-that-makes-mistakes-harder/
Having a local git repository is a smart thing to do. It’s even smarter to push your local git repositories up to a remote server so that you can collaborate with others, clone your repository ...
https://www.donnywals.com/connecting-your-git-repository-with-a-remote-server/
Git is great, and when it works well it can be a breeze to work with. You push , pull, commit, branch, merge, but then… you get into a merge conflict, In this post, we’ll explore merge confli...
https://www.donnywals.com/understanding-and-resolving-merge-conflicts/
I’ll just say this right off the bat. There’s no such thing as git “for iOS Developers”. However, as iOS Developers we do make use of git. And that means that it makes a lot of sense to u...