Give your simulator superpowers

RocketSim: An Essential Developer Tool
as recommended by Apple

@concurrent explained with code examples

Swift 6.2 introduced many changes during WWDC 2025, including a new @concurrent attribute we need when working with Swift Concurrency. You might have read that we'll be able to @MainActor all the things now, which also means we need a way out of the @MainActor for asynchronous functions. For the ...
ConcurrencySwift

Unique values in Swift: Removing duplicates from an array

Removing duplicates to get unique values out of an array can be a common task to perform. Languages like Ruby have built-in methods like uniq but in Swift, we have to create such methods on our own. The standard library does not provide an easy method to do this. There's ...
Swift

Swift 6.2: A first look at how it’s changing Concurrency

Swift 6.2 is the upcoming release of Apple's native language. It's currently in active development, and as you know from my weekly Swift Evolution updates, many proposals are currently being processed. While many of you usually await a new Xcode release before jumping into new changes, I think knowing what's ...
ConcurrencySwift

Swift Reduce: Combining elements into a single value

The Swift reduce method allows you to produce a single value from a collection of items. You can use it to convert an array into a dictionary or another common example is to reduce numbers and sum them up. This introduction should pique your interest in swift reduce. Reduce is ...
Swift

Swift Concurrency Course: Modern Concurrency & Swift 6

A Swift Concurrency Course that helps you learn all the fundamentals of Swift Concurrency and migrating your projects smoothly to Swift 6 strict concurrency checking. It can be intimidating to start migrating existing projects to Swift 6 and learn all about async/await, sendable, and actors at the same time. A ...
ConcurrencySwift

What is Structured Concurrency?

When we talk about Swift Concurrency, we also often mention Structured Concurrency. It's a fundamental part of async/await in Swift and helps us understand how Swift's latest improvements in concurrency work. Before async/await, we wrote our asynchronous methods using closures and Grand Central Dispatch (GCD). This worked well but often ...
ConcurrencySwift

iOS App Development: How to get started?

Learning about iOS app development and related software allows you to create an app for iPhones, iPads, Apple Watch, or even the Apple Vision Pro. Building an app isn’t easy, but it becomes much more approachable when you know how to get started. I started developing apps in 2009 and ...
Swift

Swift Tutorials: Learn Swift with Easy-to-Follow Code Examples

Swift tutorials help you to get started building apps for Apple's platforms. The best way to learn Swift is by using easy-to-follow code examples. I've been writing apps since 2009 and witnessed the announcement of Swift at Apple's 2014 Worldwide Developers Conference (WWDC). It's no coincidence that I started this blog soon ...
Swift

SF Symbol: How to for Swift & SwiftUI

Apple introduced SF Symbols during WWDC 2019 as a big present for developers, as they're straightforward and free to use. Apple introduced several updates over the years, resulting in a library of over 6000+ symbols. All symbols are designed to integrate seamlessly with San Francisco, the system font for Apple ...
Swift

Enum explained in-depth with code examples in Swift

Enum usage in Swift: If case, guard case, fallthrough, associated values, and the CaseIteratable protocol. These terms could sound familiar if you've worked extensively with Swift enums. An enumeration defines a common type for a group of related values and enables you to work with those values in a type-safe ...
Swift

MainActor usage in Swift explained to dispatch to the main thread

MainActor is a new attribute introduced in Swift 5.5 as a global actor providing an executor that performs its tasks on the main thread. When building apps, it's essential to perform UI updating tasks on the main thread, which can sometimes be challenging when using several background threads. Using the ...
ConcurrencySwift