Nil Coalescing
banner
nilcoalescing.com
Nil Coalescing
@nilcoalescing.com
We are a small company based in New Zealand passionate about creating native apps for Apple platforms.

Website: https://nilcoalescing.com
Blog: https://nilcoalescing.com/blog
Apps: https://nilcoalescing.com/apps
Books: https://books.nilcoalescing.com
Pinned
Subscribe to the Nil Coalescing newsletter for a monthly digest of our blog and YouTube content, Swift and SwiftUI learnings from the projects we are working on, and special discounts on our books:
nilcoalescing.com/newsletter
Nil Coalescing - Newsletter
nilcoalescing.com
Reposted by Nil Coalescing
Using @Observable is great, but it has one small caveat. The initializer of the @Observable objects will be called multiple times, even with @State

@nilcoalescing.com's excellent article covers that topic in more detail.

#iOS #swiftUi

nilcoalescing.com/blog/Initial...
Initializing @Observable classes within the SwiftUI hierarchy
Learn the recommended ways to initialize and store @Observable classes in SwiftUI views, and see what can go wrong when observable state is managed incorrectly.
nilcoalescing.com
February 3, 2026 at 12:00 PM
Display grammatically correct text in SwiftUI effortlessly with Foundation's automatic grammar agreement, handling pluralization without extra logic: nilcoalescing.com/blog/HandleP...
#SwiftUI #iOSDev
Handle plurals in SwiftUI Text views with inflection
Display grammatically correct text effortlessly with Foundation's automatic grammar agreement, handling pluralization without extra logic.
nilcoalescing.com
January 31, 2026 at 10:24 PM
Reposted by Nil Coalescing
Yesterday I joined a book club session with iOS developers at Expedia who have been reading SwiftUI Fundamentals (books.nilcoalescing.com/swiftui-fund...). We talked through less obvious parts of SwiftUI, and they shared very positive feedback about the book. Made writing it feel worthwhile 😊
SwiftUI Fundamentals
The essential guide to SwiftUI core concepts and APIs
books.nilcoalescing.com
January 30, 2026 at 10:58 PM
Explore noncopyable types in Swift and learn how they enforce stricter ownership rules to avoid unintended errors and resource conflicts: nilcoalescing.com/blog/Noncopy...
#SwiftLang
Noncopyable types in Swift
Explore noncopyable types in Swift and learn how they enforce stricter ownership rules to avoid unintended errors and resource conflicts.
nilcoalescing.com
January 30, 2026 at 12:57 AM
Reposted by Nil Coalescing
The January issue of the Nil Coalescing newsletter has been sent out and is now available online!

I shared some insights from iOS Conf SG, the main ideas from my own talk on building a SwiftUI mindset, and also a few learnings from other talks: nilcoalescing.com/newsletter/2...

#iOSDev #SwiftUI
Nil Coalescing - Nil Coalescing Newsletter - January 2026
In this issue of the newsletter, I want to share some insights from iOS Conf SG, including the main ideas from my own talk, as well as a few learnings from other talks at the conference. I hope you wi...
nilcoalescing.com
January 28, 2026 at 9:26 AM
Add symbol effect animations and transitions to symbol images in SwiftUI to handle icon state changes without custom drawing or animation logic: nilcoalescing.com/blog/Animati...
#iOSDev #SwiftUI
Animating SF Symbols in SwiftUI
Add symbol effect animations and transitions to symbol images in SwiftUI to handle icon state changes without custom drawing or animation logic.
nilcoalescing.com
January 27, 2026 at 10:22 PM
Reposted by Nil Coalescing
I had a great time at iOS Conf SG last week! I really enjoyed chatting with developers in the iOS community, learning from other speakers, and sharing my SwiftUI talk. Big thank you to all the organizers and volunteers for such a great conference experience 🤩
#iOSConfSG
January 26, 2026 at 9:02 AM
Learn how to adjust size, color, rendering modes, variable values, and design variants of SF Symbols in SwiftUI apps: nilcoalescing.com/blog/Customi...
#iOSDev #SwiftUI
Customizing the appearance of symbol images in SwiftUI
Learn how to adjust size, color, rendering modes, variable values, and design variants of SF Symbols in SwiftUI apps.
nilcoalescing.com
January 15, 2026 at 9:32 PM
Reposted by Nil Coalescing
Swift’s string interpolation system is more powerful than it first appears. Beyond simple value substitution, it can be extended to apply custom logic when values are interpolated. I’ve published a post showing how it can be done: nilcoalescing.com/blog/Definin...
#SwiftLang
Defining custom string interpolation behavior in Swift
Extend Swift’s string interpolation to define custom behavior, such as value formatting, directly inside string literals.
nilcoalescing.com
January 13, 2026 at 6:06 AM
Reposted by Nil Coalescing
The end-of-year edition of the Nil Coalescing newsletter is out 🎉 It includes a recap of the most popular iOS and macOS posts from 2025, a look ahead to 2026, and a festive discount on my books: nilcoalescing.com/newsletter/2...
#iOSDev #macOSDev #SwiftLang #SwiftUI
Nil Coalescing - Nil Coalescing Newsletter - December 2025
I hope you are enjoying the end of the year and finding some time to slow down, reflect, and look ahead to what's next. As 2025 comes to a close, I thought this would be a good moment to look back and...
nilcoalescing.com
December 28, 2025 at 9:49 AM
Learn the recommended ways to initialize and store Observable classes in SwiftUI views, and see what can go wrong when observable state is managed incorrectly: nilcoalescing.com/blog/Initial...
#iOSDev #SwiftUI
Initializing @Observable classes within the SwiftUI hierarchy
Learn the recommended ways to initialize and store @Observable classes in SwiftUI views, and see what can go wrong when observable state is managed incorrectly.
nilcoalescing.com
December 22, 2025 at 6:51 AM
Reposted by Nil Coalescing
I've been exploring all the different animation types we can apply to SF Symbols in #SwiftUI and wrote a post covering symbol effect animations and transitions: nilcoalescing.com/blog/Animati...
Animating SF Symbols in SwiftUI
Add symbol effect animations and transitions to symbol images in SwiftUI to handle icon state changes without custom drawing or animation logic.
nilcoalescing.com
December 18, 2025 at 5:59 AM
Configure the NavigationStack and Form background in SwiftUI so partial height sheets keep the translucent Liquid Glass appearance on iOS 26: nilcoalescing.com/blog/LiquidG...
#iOSDev #SwiftUI
SwiftUI Liquid Glass sheets with NavigationStack and Form
Configure the NavigationStack and Form background in SwiftUI so partial height sheets keep the translucent Liquid Glass appearance on iOS 26.
nilcoalescing.com
December 15, 2025 at 9:12 PM
Reposted by Nil Coalescing
I'll be speaking at the ARCtic Conference in Oulu, Finland in February!

I've seen a lot of really positive feedback from speakers and attendees of the previous edition, and I'm really looking forward to being part of the next one!

arcticonference.com

#iOSDev #SwiftLang
December 12, 2025 at 11:01 AM
Learn how to leverage the new glass appearance for partial sheets in iOS 26, and set up morphing transitions for sheets presented from toolbar buttons using SwiftUI APIs: nilcoalescing.com/blog/Present...
#iOSDev #SwiftUI
Presenting Liquid Glass sheets in SwiftUI on iOS 26
Learn how to leverage the new glass appearance for partial sheets in iOS 26, and set up morphing transitions for sheets presented from toolbar buttons using SwiftUI APIs.
nilcoalescing.com
December 11, 2025 at 11:41 PM
Display a self-updating date and time inside a SwiftUI Text view and prevent the UI from moving as the digits in the date change: nilcoalescing.com/blog/Dynamic...
#SwiftUI #iOSDev #macOSDev
Dynamic dates with monospaced digits in SwiftUI
Display a self-updating date and time inside a SwiftUI Text view and prevent the UI from moving as the digits in the date change.
nilcoalescing.com
December 10, 2025 at 10:12 PM
Reposted by Nil Coalescing
New limited edition coffee recipes are now available in Breve!

Discover Festive Delights, a collection of cozy holiday drinks crafted to bring comfort, cheer, and a little sparkle to every cup: apps.apple.com/us/app/id674...

#Coffee #CoffeeLovers #iOSApp
December 10, 2025 at 8:30 AM
Take advantage of the updated search placement and behavior in iOS 26, and implement toolbar and tab bar search patterns in SwiftUI that adapt across devices and integrate with the new Liquid Glass design: nilcoalescing.com/blog/SwiftUI...
#iOSDev #SwiftUI
SwiftUI Search Enhancements in iOS and iPadOS 26
Take advantage of the updated search placement and behavior in iOS 26, and implement toolbar and tab bar search patterns that adapt across devices and integrate with the new Liquid Glass design.
nilcoalescing.com
December 9, 2025 at 8:37 PM
Reposted by Nil Coalescing
SwiftUI gives us a lot of control when styling SF Symbols, including custom foreground styles. One simple technique is to apply a foreground style with an inner shadow to make an icon look cut out from its background: nilcoalescing.com/blog/AddAnIn...
#SwiftUI #iOSDev
Add an inner shadow to a symbol image in SwiftUI
Create a cut out icon effect in SwiftUI by applying a foreground style with an inner shadow to an SF Symbol image.
nilcoalescing.com
December 9, 2025 at 5:57 AM
Reposted by Nil Coalescing
Last day of the sale!
My Black Friday book sale will be running for a few more days, until the end of this week. All of my Swift and SwiftUI books are currently 30% off: books.nilcoalescing.com
#iOSDev #SwiftLang #SwiftUI
December 7, 2025 at 7:07 AM
UIKit now has native support for Swift Observation, automatically tracking reads of Observable properties in update methods, making it easier to share data between UIKit and integrated SwiftUI components: nilcoalescing.com/blog/Automat...
#iOSDev #UIKit #SwiftUI
Automatic property observation in UIKit with @Observable
UIKit now has native support for Swift Observation, automatically tracking reads of @Observable properties in update methods, making it easier to share data between UIKit and integrated SwiftUI compon...
nilcoalescing.com
December 5, 2025 at 8:23 PM
Reposted by Nil Coalescing
My Black Friday book sale will be running for a few more days, until the end of this week. All of my Swift and SwiftUI books are currently 30% off: books.nilcoalescing.com
#iOSDev #SwiftLang #SwiftUI
December 4, 2025 at 7:44 AM
Explore SwiftUI APIs for customizing scroll behavior, including paging and view-aligned snapping, and learn what to watch out for to avoid unexpected results: nilcoalescing.com/blog/ScrollV...
#iOSDev #SwiftUI
ScrollView snapping in SwiftUI
Explore SwiftUI APIs for customizing scroll behavior, including paging and view-aligned snapping, and learn what to watch out for to avoid unexpected results.
nilcoalescing.com
December 3, 2025 at 10:19 PM
Reposted by Nil Coalescing
It's not always obvious what is the right way to initialize an Observable within the SwiftUI view hierarchy, and what are the consequences of getting it wrong, so I wrote a blog post exploring some common use cases: nilcoalescing.com/blog/Initial...
#iOSDev #SwiftUI
Initializing @Observable classes within the SwiftUI hierarchy
Learn the recommended ways to initialize and store @Observable classes in SwiftUI views, and see what can go wrong when observable state is managed incorrectly.
nilcoalescing.com
December 2, 2025 at 5:35 AM
Reposted by Nil Coalescing
Exsto 5.0 has arrived with the new Liquid Glass design!

Try an experimental approach to drawing and sketching and create beautiful artworks on iPhone, iPad, and Mac in a therapeutic, relaxing way.

Download on the App Store: apps.apple.com/app/apple-st...

#IndieDev #DigitalArt
November 30, 2025 at 10:51 PM