Recent Posts
Shared with You implementation and testing explained
iOS 16 introduced Shared with You allowing you to showcase content shared in Messages inside your app. Users can find ...
Read More
Read More
Sendable and @Sendable closures explained with code examples
Sendable and @Sendable are part of the concurrency changes that arrived in Swift 5.5 and address a challenging problem of ...
Read More
Read More
UIViewRepresentable explained to host UIView instances in SwiftUI
Adopting the UIViewRepresentable protocol allows you to host UIView instances in SwiftUI. Your SwiftUI code is converted to UIKit views ...
Read More
Read More
In-App Purchases Made EasyWith a few lines of code, RevenueCat gives you everything you need to build, analyze, and grow in-app purchases and subscriptions without managing servers or writing backend code. Get started for free.
Swift Keywords
Do you know how to use each keyword in Swift?
Click on the keyword to learn more and explore code examples.
Learn more about Swift
Shared with You implementation and testing explained
iOS 16 introduced Shared with You allowing you to showcase content shared in Messages inside your app. Users can find ...
Sendable and @Sendable closures explained with code examples
Sendable and @Sendable are part of the concurrency changes that arrived in Swift 5.5 and address a challenging problem of ...
URLSessionConfiguration: Exploring opt-in configurations
URLSessionConfiguration can be used to initialize URLSession instances in Swift. While in most cases, you'll likely use the default configuration, ...
Learn SwiftUI
UIViewRepresentable explained to host UIView instances in SwiftUI
Adopting the UIViewRepresentable protocol allows you to host UIView instances in SwiftUI. Your SwiftUI code is converted to UIKit views ...
Using NavigationLink programmatically based on binding in SwiftUI
NavigationLink in SwiftUI allows pushing a new destination view on a navigation controller. You can use NavigationLink in a list ...
Markdown rendering using Text in SwiftUI
SwiftUI comes with built-in markdown support for text, making it easy to transform the text into bold, italic, and other ...
Combine all the things
@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 ...
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 ...
PassthroughSubject vs. CurrentValueSubject explained
PassthroughSubject and CurrentValueSubject are two types from the Combine framework that conforms to the Subject protocol. Both are very similar ...
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 ...
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 ...
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 ...
Be an expert on Xcode
App Icon Generator is no longer needed with Xcode 14
An App Icon Generator generates all required app icon sizes based on a single-size icon input file. Creating and dragging ...
RocketSim 8.0: Enhance your iOS Simulator
RocketSim is a developer tool that gives your iOS Simulator extra functionalities to increase day-to-day development productivity. Floating windows become ...
Thread Sanitizer explained: Data Races in Swift
The Thread Sanitizer, also known as TSan, is an LLVM based tool to audit threading issues in your Swift and ...
Get better at debugging
Debugging SwiftUI views: what caused that change?
Debugging SwiftUI views is an essential skill to own when writing dynamic views with several redrawing triggers. Property wrappers like ...
Flaky tests resolving using Test Repetitions in Xcode
Flaky tests can be frustrating to deal with. You're ready to open your PR until you realize your tests fail ...
OSLog and Unified logging as recommended by Apple
OSLog as a replacement of print and NSLog is the recommended way of logging by Apple. It's a bit harder ...
Improve your workflow
Picking your minimum iOS version to support
When a new iOS version arrives, it's oftentimes a moment to reflect on the supported iOS versions and see to ...
OSLog and Unified logging as recommended by Apple
OSLog as a replacement of print and NSLog is the recommended way of logging by Apple. It's a bit harder ...
Full-screen development with Xcode and the Simulator
While developing apps it's important to create focus to get in your flow and speed up development. Full-screen mode can ...
Optimize yourself and improve
App Icon Generator is no longer needed with Xcode 14
An App Icon Generator generates all required app icon sizes based on a single-size icon input file. Creating and dragging ...
Increase App Ratings by using SKStoreReviewController
SKStoreReviewController allows asking your users for App Store ratings from within the app. Positive ratings can help your app stand ...
Writing Swift Articles: Tips to become a better writer
Writing Swift articles is a great way to become a better engineer and is often seen as a required skill ...
Explore categories
Swift
Combine
Concurrency
SwiftUI
Core Data
Xcode
Debugging
Workflow
Optimization
Most Popular Posts
- Async await in Swift explained with code examples
- Sendable and @Sendable closures explained with code examples
- Getting started with the Combine framework in Swift
- JSON Parsing in Swift explained with code examples
- EXC_BAD_ACCESS crash error: Understanding and solving it