Recent Posts
Swift 6: What’s New and How to Migrate
How to develop an app for iOS
Parameterized tests in Swift: Reducing boilerplate code
Swift Keywords
Do you know how to use each keyword in Swift?
Click on the keyword to learn more and explore code examples.
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?
Learn more about Swift
iOS App Development: How to get started?
Swift Tutorials: Learn Swift with Easy-to-Follow Code Examples
SF Symbol: How to for Swift & SwiftUI
Learn SwiftUI
How to develop an app for iOS
SwiftUI Lists: Present rows of data explained with code examples
SwiftUI Button: Custom Styles, Variants, and Best Practices
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
- Inspect network traffic using the Xcode Simulator
- Universal Links implementation on iOS
- Deeplink URL handling in SwiftUI
- Location Simulation in Xcode’s Simulator
- Optimizing your app for Network Reachability
- Testing push notifications on the iOS simulator
App Actions Perform Menu
- Localization testing in Xcode
- User Defaults reading and writing in Swift
- Xcode Simulator Directories Exploration
RocketSim Tools
Combine all the things
@Published risks and usage explained with code examples
RunLoop.main vs DispatchQueue.main: The differences explained
PassthroughSubject vs. CurrentValueSubject explained
Dive into Core Data
How to observe NSManagedObject changes in Core Data using Combine
Data validation on insertion, update, and deletion in Core Data
Derived Attributes to improve Core Data Fetch Performance
Be an expert on Xcode
RocketSim 13.0: Builds Apps Faster
Inspect network traffic using the Xcode Simulator
Xcode Build Insights: Keep track of project compilation times
Get better at debugging
Network Link Conditioner: Simulating Slow Networking
Memory consumption when loading UIImage from disk
Debugging SwiftUI views: what caused that change?
Improve your workflow
Designing Apps: 5 Methods to improve your workflow
Test-Driven Development (TDD) for bug fixes in Swift
Third-party libraries acknowledgments using a Settings bundle
Optimize yourself and improve
Network Link Conditioner: Simulating Slow Networking
Contingent pricing for in-app subscriptions
App onboarding funnel optimization to increase conversions
- How to develop an app for iOS
- Async await in Swift explained with code examples
- Sendable and @Sendable closures explained with code examples
- MainActor usage in Swift explained to dispatch to the main thread
- Swift 6: What’s New and How to Migrate