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
The November issue of the Nil Coalescing newsletter has been sent to all the subscribers, and it's now available online: nilcoalescing.com/newsletter/2...

I shared news on my Swift and SwiftUI book updates, Black Friday book deals, recent videos, and my conference plans for next year.
Nil Coalescing - Nil Coalescing Newsletter - November 2025
The festive season is almost here, and it feels like everyone is preparing for the end-of-year break. This month, we've been wrapping up the work we wanted to finish before the holidays and have begun...
nilcoalescing.com
November 29, 2025 at 6:02 AM
If you are looking to deepen your understanding of SwiftUI, take your Swift code to the next level, or start adopting SwiftUI in existing UIKit projects, don’t miss our Black Friday deal on @natpanferova.bsky.social's books and bundles: books.nilcoalescing.com
#iOSDev #SwiftLang #SwiftUI
November 26, 2025 at 8:26 PM
Reposted by Nil Coalescing
I've just released a small update to my book "Swift Gems" with techniques covering features introduced in Swift 6.2, including inline arrays, default values in string interpolation, and some Swift concurrency tips. And it’s currently on sale: 30% off!
books.nilcoalescing.com/swift-gems
#SwiftLang
Swift Gems
100+ tips to take your Swift code to the next level
books.nilcoalescing.com
November 26, 2025 at 6:59 AM
Extend your app’s functionality to the entire macOS system by implementing services that users can access from the context menu or the Services menu in other apps: nilcoalescing.com/blog/macOSSy...
#macOSDev
Provide macOS system-wide services from your app
Extend your app’s functionality to the entire macOS system by implementing services that users can access from the context menu or the Services menu in other apps.
nilcoalescing.com
November 23, 2025 at 9:16 PM
Reposted by Nil Coalescing
UIKit now supports automatic observation tracking, making it easier to share data between UIKit and integrated SwiftUI components. I wrote a post looking into how this works on iOS 26 and iOS 18: nilcoalescing.com/blog/Automat...
#iOSDev
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
November 21, 2025 at 5:38 AM
Starting with iOS 18, we can use SwiftUI animations to animate UIKit views, making it easier to bring SwiftUI’s expressive and flexible animations into UIKit projects: nilcoalescing.com/blog/Animate...

#iOSDev #SwiftUI #UIKit
Animate UIKit views with SwiftUI animations in iOS 18
With iOS 18, we can now use SwiftUI animations to animate UIKit views, making it easier to bring SwiftUI’s expressive and flexible animations into UIKit projects.
nilcoalescing.com
November 20, 2025 at 9:36 PM
Reposted by Nil Coalescing
I've just released a new version of "Integrating SwiftUI into UIKit Apps", with all the projects updated for iOS 26 and Xcode 26!

And it's currently 30% off as part of my Black Friday book sale: books.nilcoalescing.com/integrating-...

#iOSDev #SwiftUI
Integrating SwiftUI into UIKit Apps
A detailed guide on gradually adopting SwiftUI in UIKit projects
books.nilcoalescing.com
November 20, 2025 at 7:42 AM
Reposted by Nil Coalescing
My Black Friday book sale has started! All of my Swift and SwiftUI books are now 30% off!

Find out more: books.nilcoalescing.com

#iOSDev #SwiftUI #SwiftLang
November 19, 2025 at 9:13 AM
Make your views and controls fit perfectly within their containers using new SwiftUI APIs in iOS 26 such as the ConcentricRectangle shape and the containerShape() view modifier: nilcoalescing.com/blog/Concent...
#iOSDev #SwiftUI
Corner concentricity in SwiftUI on iOS 26
Make your views and controls fit perfectly within their containers using new SwiftUI APIs in iOS 26 such as the ConcentricRectangle shape and the containerShape() view modifier.
nilcoalescing.com
November 11, 2025 at 8:50 PM
Discover easy-to-implement techniques for supporting Dynamic Type with larger text in SwiftUI apps using system and custom fonts, the ScaledMetric property wrapper, dynamic type size environment value, and more: youtu.be/wflWj5l7wlk

#SwiftUI #iOSDev #Accessibility
Tips for Supporting Dynamic Type in SwiftUI Apps
YouTube video by Nil Coalescing
youtu.be
November 9, 2025 at 10:10 PM
Learn how to add Codable conformance to Swift enums, including automatic synthesis, customizations, and fully manual implementations for complex cases: nilcoalescing.com/blog/Codable...
#SwiftLang #iOSDev
Codable conformance for Swift enums
Learn how to add Codable conformance to Swift enums, including automatic synthesis, customizations, and fully manual implementations for complex cases.
nilcoalescing.com
November 9, 2025 at 5:30 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...
#SwiftUI #iOSDev
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
November 5, 2025 at 8:50 PM
Reposted by Nil Coalescing
I've published a new video! I shared some tips for implementing Dynamic Type support in SwiftUI apps, covering system and custom fonts, ScaledMetric API, and dynamicTypeSize environment value: youtu.be/wflWj5l7wlk
#SwiftUI #iOSDev #Accessibility
Tips for Supporting Dynamic Type in SwiftUI Apps
YouTube video by Nil Coalescing
youtu.be
November 5, 2025 at 7:42 AM
Reposted by Nil Coalescing
Excited to share my recent appearance on the Swift Academy podcast! In this episode, Walid Sassi and I talk about iOS 26, Liquid Glass, SwiftUI, and Accessibility, and explore some of the new APIs along with ways to make apps more inclusive: youtu.be/CEZbwcv60MA
#iOSDev #SwiftUI
iOS26, SwiftUI and Accessibility with Natalia Panferova
YouTube video by Walid SASSI
youtu.be
November 2, 2025 at 9:57 PM
Prevent unnecessary text truncation at larger text sizes in SwiftUI apps with the fixedSize(horizontal:vertical:) modifier, forcing the text to expand vertically as needed: nilcoalescing.com/blog/Avoidin...
#SwiftUI #iOSDev
Avoiding text truncation in SwiftUI with Dynamic Type
Prevent unnecessary text truncation at larger text sizes with the fixedSize(horizontal:vertical:) modifier, forcing the text to expand vertically as needed.
nilcoalescing.com
November 1, 2025 at 11:44 PM
Reposted by Nil Coalescing
The October issue of the Nil Coalescing newsletter has gone out to all subscribers 📬

I've shared news on my SwiftUI Fundamentals book update, and my recent technical learnings on supporting iOS 26 and 26.1.

You can also read the issue online: nilcoalescing.com/newsletter/2...
Nil Coalescing - Nil Coalescing Newsletter - October 2025
I hope you've had a productive October! This month I've started updating my books for iOS 26, released an update for my app Breve with a special Halloween event, and recorded a Swift Academy podcast e...
nilcoalescing.com
October 31, 2025 at 9:08 PM
Reposted by Nil Coalescing
It's almost Halloween 👻 👻👻 Time to brew something spooky!

Find your perfect coffee recipe in Breve and get into the Halloween spirit: apps.apple.com/us/app/breve...

#Coffee #Halloween #iOSApp
October 31, 2025 at 7:19 AM
Learn how to use NWPathMonitor as an async sequence for real-time network status updates in your SwiftUI views: nilcoalescing.com/blog/ReactTo...
#iOSDev #SwiftUI
React to network status updates in SwiftUI
Learn how to use NWPathMonitor as an async sequence for real-time network status updates in your SwiftUI views.
nilcoalescing.com
October 30, 2025 at 11:23 PM
Starting with iOS 26, SwiftUI shows both title and icon in swipe action buttons by default, but the previous icon-only appearance can be restored using the labelStyle() modifier: nilcoalescing.com/blog/ShowIco...
#iOSDev #SwiftUI
Show icons only in SwiftUI swipe actions on iOS 26
Starting with iOS 26, SwiftUI shows both title and icon in swipe action buttons by default, but the previous icon-only appearance can be restored using the labelStyle() modifier.
nilcoalescing.com
October 23, 2025 at 10:15 PM
"SwiftUI Fundamentals" by @natpanferova.bsky.social has been updated for iOS 26 with refreshed visuals and examples reflecting the new Liquid Glass design: nilcoalescing.com/blog/SwiftUI...
#SwiftUI #iOSDev
"SwiftUI Fundamentals" book update: refreshed for iOS 26 and the Liquid Glass design
'SwiftUI Fundamentals' by Natalia Panferova has been updated for iOS 26 with refreshed visuals and examples reflecting the new Liquid Glass design.
nilcoalescing.com
October 22, 2025 at 8:57 PM
Reposted by Nil Coalescing
SwiftUI makes it easy to show a “no results” state for search with ContentUnavailableView.search. And it even automatically includes the search text in the message, as long as it’s used within the scope of the searchable() modifier.
#iOSDev #SwiftUI
October 22, 2025 at 5:37 AM
In iOS 26, SwiftUI introduces a new close button role for dismissing informational views, automatically showing a standard close icon without needing a custom label: nilcoalescing.com/blog/AddAClo...
#SwiftUI #iOSDev
Add a Close button to SwiftUI modals on iOS 26
In iOS 26, SwiftUI introduces a new close button role for dismissing informational views, automatically showing a standard close icon without needing a custom label.
nilcoalescing.com
October 21, 2025 at 8:38 PM
Reposted by Nil Coalescing
I’ve just published an update for my SwiftUI Fundamentals book! It’s now refreshed for iOS 26 and the new Liquid Glass design, with updated examples and screenshots throughout.

You can check it out and get the new version here: books.nilcoalescing.com/swiftui-fund...

#iOSDev #SwiftUI
SwiftUI Fundamentals
The essential guide to SwiftUI core concepts and APIs
books.nilcoalescing.com
October 20, 2025 at 5:53 AM
Buttons inside a SwiftUI List row can cause the entire row to become tappable and trigger multiple buttons at once, but applying a specific button style ensures each button works independently: nilcoalescing.com/blog/Multipl...
#SwiftUI #iOSDev
Multiple buttons in SwiftUI List rows
Buttons inside a List row can cause the entire row to become tappable and trigger multiple buttons at once, but applying a specific button style ensures each button works independently.
nilcoalescing.com
October 18, 2025 at 11:13 PM
Reposted by Nil Coalescing
On iOS 26 we have a new `close` button role in SwiftUI to dismiss a view without losing the user's progress, unlike a cancel action. A convenient way to add a dismiss button for modals without the need to define a custom button label!
#SwiftUI #iOSDev
October 18, 2025 at 8:22 AM