Nil Coalescing's Avatar

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

432
Followers
4
Following
115
Posts
03.03.2025
Joined
Posts Following

Latest posts by Nil Coalescing @nilcoalescing.com

Preview
Adjusting line height in SwiftUI on iOS 26 iOS 26 introduces the lineHeight(_:) modifier and AttributedString.LineHeight attribute for adjusting vertical spacing between lines of text in SwiftUI.

On iOS 26, we have a new #SwiftUI modifier, lineHeight(_:), for adjusting the distance between the baselines of two subsequent lines of text. There are a few options available in this new API, so I thought I would look through how they behave in practice: nilcoalescing.com/blog/Adjusti...

04.03.2026 08:27 πŸ‘ 11 πŸ” 5 πŸ’¬ 0 πŸ“Œ 0
Preview
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.

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

28.02.2026 21:59 πŸ‘ 5 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0
Preview
Nil Coalescing - Nil Coalescing Newsletter - February 2026 February is the shortest month of the year, yet for our team at Nil Coalescing, it was an incredibly packed one. We spent most of it on the move! I recently had the opportunity to speak at the ARCtic ...

The February issue of the Nil Coalescing newsletter is out πŸ“¬
It’s been a busy month for our team with lots of travel! I've shared a glimpse into my "Swift's Hidden Gems" talk from the ARCtic Conference, a new SwiftUI post, and plans for the near future.
nilcoalescing.com/newsletter/2...

27.02.2026 22:42 πŸ‘ 7 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0
Preview
Defining custom string interpolation behavior in Swift Extend Swift’s string interpolation to define custom behavior, such as value formatting, directly inside string literals.

Extend Swift’s string interpolation to define custom behavior, such as value formatting, directly inside string literals: nilcoalescing.com/blog/Definin...
#SwiftLang

20.02.2026 22:02 πŸ‘ 5 πŸ” 2 πŸ’¬ 0 πŸ“Œ 1
Preview
Isolate SwiftUI animations to specific attributes Precisely scope animations to specific animatable attributes by using the animation(_:body:) API introduced in iOS 17.

For precise control over which attributes should animate in #SwiftUI, especially in generic components that accept arbitrary content, we can use the animation(_:body:) API introduced in iOS 17 to avoid accidental animations.

I've written a post about it: nilcoalescing.com/blog/Isolate...

18.02.2026 06:56 πŸ‘ 18 πŸ” 4 πŸ’¬ 0 πŸ“Œ 0
Sunset over Iso SyΓΆte with snow covered trees in the foreground shaped by heavy frost, glowing orange light from the low winter sun on the horizon, and an expansive frozen forest stretching into the distance under a clear blue sky

Sunset over Iso SyΓΆte with snow covered trees in the foreground shaped by heavy frost, glowing orange light from the low winter sun on the horizon, and an expansive frozen forest stretching into the distance under a clear blue sky

Natalia Panferova standing in a snowy park in Oulu, wearing a dark winter coat, knit hat, scarf, and boots, smiling on a snow covered path with frost covered trees and a dark sculpture visible in the background

Natalia Panferova standing in a snowy park in Oulu, wearing a dark winter coat, knit hat, scarf, and boots, smiling on a snow covered path with frost covered trees and a dark sculpture visible in the background

Reindeer standing in a snowy forest enclosure at a reindeer farm, partially framed by frost covered evergreen branches, with antlers visible and snow covering the ground and surrounding trees

Reindeer standing in a snowy forest enclosure at a reindeer farm, partially framed by frost covered evergreen branches, with antlers visible and snow covering the ground and surrounding trees

Natalia Panferova speaking on stage at the ARCtic Conference, standing at a podium under blue stage lighting with a large screen behind her displaying a Swift logo with heart shaped balloons

Natalia Panferova speaking on stage at the ARCtic Conference, standing at a podium under blue stage lighting with a large screen behind her displaying a Swift logo with heart shaped balloons

Last week I had an amazing opportunity to be part of the ARCtic Conference and present a talk on lesser known Swift language features. I really enjoyed the conference and my stay in Lapland ❄️ β˜ƒοΈ 🦌 Thank you to all the organizers, speakers and attendees!

17.02.2026 09:44 πŸ‘ 14 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0
Preview
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.

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...

03.02.2026 12:00 πŸ‘ 11 πŸ” 4 πŸ’¬ 0 πŸ“Œ 0
Preview
Handle plurals in SwiftUI Text views with inflection Display grammatically correct text effortlessly with Foundation's automatic grammar agreement, handling pluralization without extra logic.

Display grammatically correct text in SwiftUI effortlessly with Foundation's automatic grammar agreement, handling pluralization without extra logic: nilcoalescing.com/blog/HandleP...
#SwiftUI #iOSDev

31.01.2026 22:24 πŸ‘ 9 πŸ” 3 πŸ’¬ 0 πŸ“Œ 0
Preview
SwiftUI Fundamentals The essential guide to SwiftUI core concepts and APIs

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 😊

30.01.2026 22:57 πŸ‘ 10 πŸ” 2 πŸ’¬ 0 πŸ“Œ 1
Preview
Noncopyable types in Swift Explore noncopyable types in Swift and learn how they enforce stricter ownership rules to avoid unintended errors and resource conflicts.

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

30.01.2026 00:57 πŸ‘ 9 πŸ” 3 πŸ’¬ 0 πŸ“Œ 0
Preview
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...

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

28.01.2026 09:26 πŸ‘ 9 πŸ” 3 πŸ’¬ 0 πŸ“Œ 0
Preview
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.

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

27.01.2026 22:22 πŸ‘ 7 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Natalia Panferova speaking on stage at iOS Conf SG, presenting a talk titled "The SwiftUI Mindset"

Natalia Panferova speaking on stage at iOS Conf SG, presenting a talk titled "The SwiftUI Mindset"

Group photo of speakers, organizers and attendees gathered at iOS Conf SG

Group photo of speakers, organizers and attendees gathered at iOS Conf SG

Natalia Panferova’s iOS Conf SG speaker badge displayed with RevenueCat plush toys and photo booth printouts on a table

Natalia Panferova’s iOS Conf SG speaker badge displayed with RevenueCat plush toys and photo booth printouts on a table

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

26.01.2026 09:02 πŸ‘ 17 πŸ” 3 πŸ’¬ 0 πŸ“Œ 0
Preview
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.

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

15.01.2026 21:32 πŸ‘ 15 πŸ” 1 πŸ’¬ 5 πŸ“Œ 0
Preview
Defining custom string interpolation behavior in Swift Extend Swift’s string interpolation to define custom behavior, such as value formatting, directly inside string literals.

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

13.01.2026 06:06 πŸ‘ 12 πŸ” 3 πŸ’¬ 0 πŸ“Œ 0
Preview
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...

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

28.12.2025 09:49 πŸ‘ 16 πŸ” 5 πŸ’¬ 0 πŸ“Œ 0
Preview
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.

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

22.12.2025 06:51 πŸ‘ 18 πŸ” 5 πŸ’¬ 1 πŸ“Œ 0
Preview
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.

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...

18.12.2025 05:59 πŸ‘ 12 πŸ” 5 πŸ’¬ 0 πŸ“Œ 0
Preview
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.

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

15.12.2025 21:12 πŸ‘ 9 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Promotional graphic announcing Natalia Panferova as a speaker at ARCtic Conference, featuring Natalia standing by a blue lake and rocky hills, with text highlighting Oulu, Finland and February 10th to 12th, 2026

Promotional graphic announcing Natalia Panferova as a speaker at ARCtic Conference, featuring Natalia standing by a blue lake and rocky hills, with text highlighting Oulu, Finland and February 10th to 12th, 2026

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

12.12.2025 11:01 πŸ‘ 15 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0
Preview
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.

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

11.12.2025 23:41 πŸ‘ 8 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0
Preview
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.

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

10.12.2025 22:12 πŸ‘ 8 πŸ” 3 πŸ’¬ 0 πŸ“Œ 0
A festive watercolor illustration of two holiday coffee drinks topped with whipped cream and candy cane pieces, surrounded by ornaments, holly, and softly falling snow against a colorful blurred background

A festive watercolor illustration of two holiday coffee drinks topped with whipped cream and candy cane pieces, surrounded by ornaments, holly, and softly falling snow against a colorful blurred background

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

10.12.2025 08:30 πŸ‘ 7 πŸ” 3 πŸ’¬ 0 πŸ“Œ 0
Preview
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.

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

09.12.2025 20:37 πŸ‘ 12 πŸ” 3 πŸ’¬ 0 πŸ“Œ 0
Preview
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.

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

09.12.2025 05:57 πŸ‘ 14 πŸ” 4 πŸ’¬ 0 πŸ“Œ 0

Last day of the sale!

07.12.2025 07:07 πŸ‘ 6 πŸ” 4 πŸ’¬ 0 πŸ“Œ 0

SwiftUI will create and discard the view struct multiple times throughout the view lifecycle, so it will create fresh instances of its properties each time. It just doesn’t use the recreated observable class instances and discards them.

06.12.2025 22:14 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
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...

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

05.12.2025 20:23 πŸ‘ 6 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Black Friday promotional banner advertising 30% off Natalia Panferova's books: SwiftUI Fundamentals, Swift Gems and Integrating SwiftUI into UIKit apps

Black Friday promotional banner advertising 30% off Natalia Panferova's books: SwiftUI Fundamentals, Swift Gems and Integrating SwiftUI into UIKit apps

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

04.12.2025 07:44 πŸ‘ 5 πŸ” 2 πŸ’¬ 0 πŸ“Œ 1
Preview
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.

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

03.12.2025 22:19 πŸ‘ 12 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0