Latest Updates
Read my latest articles. Browse the archives. Follow the RSS feed. Subscribe to the newsletter to get the latest posts direct to your inbox.
-
SwiftUI Inverting A Boolean Binding
How do you change a SwiftUI binding to a boolean to give the inverted value?
-
SwiftUI Tasks Blocking the MainActor
I find it way too easy to accidentally block the MainActor, and hang the user interface, with a long-running task that I thought was on a background thread. Here’s a recent example.
-
Xcode Console and Unified Logging
If you’re still using print statements to debug your App it’s time you moved to the unified OS logging framework.
-
Disabling Core Data CloudKit Logging
How do you stop the Core Data CloudKit sync logging from filling the Xcode console?
-
Getting Started With App Intents
Apple added the App Intents framework in iOS 16 giving us a way to programmatically make an app’s content and actions available to the Shortcuts app, Siri, Widgets, and Spotlight. Here’s my quick guide to get started.
-
SwiftUI Button Styles And Shapes
Each time I need to style a SwiftUI button I find myself struggling to remember which view modifier I need. Here’s a quick recap of the most common options.
-
SwiftData Fetching Pending Changes
When you fetch data using Core Data it includes pending changes by default. SwiftData, in theory, works the same way let’s see how it works in practise.
-
SwiftData Deleting Data
There are at least three ways to delete data from a SwiftData store. Here’s a quick recap.