Give your simulator superpowers

RocketSim: An Essential Developer Tool
as recommended by Apple

A weekly Swift Blog on Xcode and iOS Development

See all

Recent Posts

Simulator Camera: Test your app without a physical device

Camera testing in Xcode's Simulator is possible, but I'm sure you're now wondering: how?! For years, this has not been ...
/ Xcode

Build performance analysis for speeding up Xcode builds

Build performance can be analyzed in Xcode to speed up your builds. This can quickly speed up your workflow and ...
/ OptimizationXcode

SwiftUI Architecture: Structure Views for Reusability and Clarity

As your SwiftUI projects grow, the need for a better SwiftUI architecture grows, as it’s easy for view bodies to ...
/ SwiftUI

YouTube Videos

Don’t miss any future videos — Subscribe to my channel.

The Essential Swift Concurrency Course for a Seamless Swift 6 Migration.

Learn all about Swift Concurrency in my flagship course offering 13 modules, 78 lessons, videos, code examples, and an official certificate of completion.

Updated for Swift 6.2 and now available with a limited-time launch offer.

Swift Keywords

Do you know how to use each keyword in Swift?
Click on the keyword to learn more and explore code examples.

actor associatedtype async @autoclosure available await break catch class continue defer @discardableResult @dynamicCallable @dynamicMemberLookup enum @escaping fileprivate for @globalActor guard infix isolated lazy @MainActor nonisolated optional postfix @propertyWrapper private protocol required @resultBuilder rethrows sendable some struct subscript throw throws try typealias @unchecked @unknown unowned weak where while

Career Advice – Grow your career

Looking to grow your career in iOS development? With years of experience leading teams at WeTransfer and building SwiftLee into a go-to resource for over 140,000 developers monthly, I offer insights on everything from launching successful side projects to scaling app users. Whether you’re refining your Swift skills, building an online presence, or creating passive income with courses, I’m here to help you navigate your journey.

Ready to make your side project a success?

Tired of the 9-to-5 grind and endless meetings? Imagine turning your side project into a six-figure income and going fully independent—just like I did. Learn my proven steps to transform your passion into profit.

The Going Indie Podcast

Discover stories and strategies from creators who’ve turned side projects into thriving businesses. Ready to take the leap?

See all

Learn more about Swift

Swift Computed Property: Code Examples

Computed properties are part of a family of property types in Swift. Stored properties are the most common, saving and ...
/ Swift

Property Wrappers in Swift explained with code examples

Property Wrappers in Swift enable you to extract common logic into a separate wrapper object. Introduced at WWDC 2019 and ...
/ Swift

Async await in Swift explained with code examples

Async await is part of the new structured concurrency changes that arrived in Swift 5.5 during WWDC 2021. Concurrency in ...
/ ConcurrencySwift
FREE 5-day email course: The Swift Concurrency Playbook by Antoine van der Lee

FREE 5-Day Email Course: The Swift Concurrency Playbook

A FREE 5-day email course revealing the 5 biggest mistakes iOS developers make with with async/await that lead to App Store rejections And migration projects taking months instead of days (even if you've been writing Swift for years)

See all

Learn SwiftUI

SwiftUI Architecture: Structure Views for Reusability and Clarity

As your SwiftUI projects grow, the need for a better SwiftUI architecture grows, as it’s easy for view bodies to ...
/ SwiftUI

SwiftUI Toggle: A Complete Guide

A SwiftUI Toggle is a common UI element that allows users to switch between states. It often turns a binding ...
/ SwiftUI

@ViewBuilder usage explained with code examples

The @ViewBuilder attribute is one of the few result builders available for you to use in SwiftUI. You typically use ...
/ SwiftUI

Build Apps Faster using RocketSim

Recommend by Apple as an “Essential Tool for Developers”, RocketSim helps thousands of engineers to save hours per week. Discover these articles and learn how you can leverage RocketSim to improve your workflow:

App Actions

App Actions Perform Menu

RocketSim Tools

See all

Combine all the things

Combine and Swift Concurrency: A threading risk

Many developers are migrating from Combine to Swift Concurrency. Swift Concurrency is here to stay, and Combine hasn't received updates ...
/ CombineConcurrency

@Published risks and usage explained with code examples

@Published is one of the property wrappers in SwiftUI that allows us to trigger a view redraw whenever changes occur ...
/ CombineSwiftUI

RunLoop.main vs DispatchQueue.main: The differences explained

RunLoop.main and DispatchQueue.main are often used as schedulers within Combine. During code reviews, I often encounter inconsistency in using one ...
/ Combine

See all

Dive into Core Data

How to observe NSManagedObject changes in Core Data using Combine

Observing changes in Core Data NSManagedObject instances with Combine publishers can be a great solution to keep your user interface ...
/ CombineCore Data

Data validation on insertion, update, and deletion in Core Data

Data validation in apps is important to make sure we save data conforming to the business rules. A name should ...
/ Core Data

Derived Attributes to improve Core Data Fetch Performance

Derived attributes are available since iOS 13 and aim to improve fetch performance in many different scenarios. Although we have ...
/ Core Data

See all

Be an expert on Xcode

Simulator Camera: Test your app without a physical device

Camera testing in Xcode's Simulator is possible, but I'm sure you're now wondering: how?! For years, this has not been ...
/ Xcode

Build performance analysis for speeding up Xcode builds

Build performance can be analyzed in Xcode to speed up your builds. This can quickly speed up your workflow and ...
/ OptimizationXcode

Derived Data: 5 Things iOS Developers Do Wrong

The Derived Data folder is one of the most important directories an iOS developer relies on. While you don't work ...
/ Xcode

See all

Get better at debugging

Introducing Diagnostics: Improved Debugging and User Support

A diagnostics report that helps you solve bugs and improve user support at the same time. I've been writing apps ...
/ DebuggingOptimization

Network Link Conditioner: Simulating Slow Networking

The Network Link Conditioner allows you to test your apps under slow networking conditions on macOS and iOS. The tool ...
/ DebuggingOptimization

Memory consumption when loading UIImage from disk

Memory consumption can quickly increase if you load many images from the disk using UIImage. You'll generally load images from ...
/ DebuggingSwiftUI

See all

Improve your workflow

Testing push notifications on the iOS simulator

Testing push notifications in the iOS simulator makes adding support for remote notifications much more effortless. However, you often must ...
/ Workflow

Designing Apps: 5 Methods to improve your workflow

Designing apps can be challenging if you don't have a design background. Many of you who read my blog are ...
/ Workflow

Test-Driven Development (TDD) for bug fixes in Swift

Test-driven development (TDD) is a technique that requires you first to write a failing test before you start implementing a ...
/ Workflow

See all

Optimize yourself and improve

Build performance analysis for speeding up Xcode builds

Build performance can be analyzed in Xcode to speed up your builds. This can quickly speed up your workflow and ...
/ OptimizationXcode

App Store Optimization: Real-world Best Practices

App Store Optimization is important for every app's success. You've spent a lot of time building a fantastic product, so ...
/ Optimization

Introducing Diagnostics: Improved Debugging and User Support

A diagnostics report that helps you solve bugs and improve user support at the same time. I've been writing apps ...
/ DebuggingOptimization
Explore categories Swift Combine Concurrency SwiftUI Core Data Xcode Debugging Workflow Optimization Swift Charts Swift Testing Latest Video Most Popular Posts
  1. Simulator Camera: Test your app without a physical device

  2. SwiftUI Architecture: Structure Views for Reusability and Clarity

  3. Async await in Swift explained with code examples

  4. Build performance analysis for speeding up Xcode builds

  5. MainActor usage in Swift explained to dispatch to the main thread

SwiftLee Weekly Newsletter