Advertisement · 728 × 90

Posts by Nil Coalescing

Preview
Isolate SwiftUI animations to specific attributes Precisely scope animations to specific animatable attributes by using the animation(_:body:) API introduced in iOS 17.

Precisely scope animations to specific animatable attributes in SwiftUI by using the animation(_:body:) API introduced in iOS 17: nilcoalescing.com/blog/Isolate...
#iOSDev #SwiftUI

11 hours ago 7 2 1 0
try! Swift Tokyo Developers from all over the world will gather for tips and tricks and the latest examples of development using Swift. The event will be held for three days from April 12 - 14, 2026, with the aim of s...

Heading to Japan tomorrow for @tryswift.jp ✈️ I've never been to Tokyo or the try! Swift conference before, so getting to attend and speak is a dream! Can't wait to meet everyone!
tryswift.jp/en/

3 days ago 15 4 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

3 days ago 11 3 0 0
Preview
The SwiftUI Way: patterns and anti-patterns for production apps 'The SwiftUI Way' is a new book by Natalia Panferova that shows experienced SwiftUI developers how to align with the framework's internal expectations.

“The SwiftUI Way” is a new book by @natpanferova.bsky.social written for SwiftUI developers who want to develop a deeper intuition for working with the framework, recognize potentially harmful anti-patterns, and build more maintainable and performant SwiftUI apps: nilcoalescing.com/blog/TheSwif...

2 weeks ago 14 7 0 0
Preview
Ways to customize text color in SwiftUI SwiftUI offers several methods to change the color of text, including foregroundStyle() and tint() modifiers, AttributedString attributes, and the textRenderer() API for advanced styling.

SwiftUI offers several methods to change the color of text, including foregroundStyle() and tint() modifiers, AttributedString attributes, and the textRenderer() API for advanced styling: nilcoalescing.com/blog/Foregro...
#SwiftUI #iOSDev

4 days ago 14 4 1 0
Advanced Techniques for Working with Optionals in Swift
Advanced Techniques for Working with Optionals in Swift YouTube video by Nil Coalescing

Published a new YouTube video covering some advanced techniques for working with Optionals in Swift. I shared these as part of my presentation "Swift's Hidden Gems" at the
ARCtic Conference and many developers were surprised youtu.be/qgDIOrKnmuw
#SwiftLang

5 days ago 14 5 0 1
Preview
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.

In iOS 26, SwiftUI introduced a new close button role for dismissing informational views, automatically showing a standard close icon without needing a custom label: nilcoalescing.com/blog/AddAClo...
#iOSDev #SwiftUI

5 days ago 21 2 1 0
Preview
Embedding SF Symbols in SwiftUI Text Combine text with icons and style them using modifiers in SwiftUI by leveraging LocalizedStringKey interpolation.

I wrote a post on how we can embed SF Symbols in Text and style them with modifiers in SwiftUI by leveraging LocalizedStringKey interpolation: nilcoalescing.com/blog/Embeddi...
#iOSDev #SwiftUI

6 days ago 15 6 1 0
Advertisement
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

1 week ago 10 3 0 0
Preview
Schedule a countdown timer with AlarmKit Step through the essential setup for AlarmKit timers in iOS 26, from requesting authorization and scheduling a countdown to presenting the Live Activity and an in-app list of active timers.

Step through the essential setup for AlarmKit timers in iOS 26, from requesting authorization and scheduling a countdown to presenting the Live Activity and an in-app list of active timers: nilcoalescing.com/blog/Countdo...
#iOSDev #SwiftLang

1 week ago 4 2 0 0
Preview
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.

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

1 week ago 10 1 0 0
Preview
The SwiftUI Way A field guide to SwiftUI patterns and anti-patterns

SwiftUI is approachable at first, but in real-life projects it's easy to make mistakes that can compromise app stability and performance.

My new book "The SwiftUI Way" will help you recognize the most common anti-patterns and choose better alternatives: books.nilcoalescing.com/the-swiftui-...

1 week ago 25 8 1 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

1 week ago 9 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 that adapt across devices and integrate with the new Liquid Glass design: nilcoalescing.com/blog/SwiftUI...
#iOSDev #SwiftUI

1 week ago 8 4 1 0
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.

iOS 26 introduced the lineHeight(_:) modifier and AttributedString.LineHeight attribute for adjusting vertical spacing between lines of text in SwiftUI: nilcoalescing.com/blog/Adjusti...
#iOSDev #SwiftUI

1 week ago 17 1 0 0
Advertisement
Preview
Nil Coalescing - Nil Coalescing Newsletter - March 2026 I'm very happy to share that my new book, 'The SwiftUI Way', is finally out! I wrote this guide for developers who are already working with the framework and are looking for deeper guidance on making ...

The March issue of the Nil Coalescing newsletter has been sent out and is now available online. I shared details on my new book "The SwiftUI Way", talk recordings from the iOS conference in Singapore and plans for April: nilcoalescing.com/newsletter/2...
#iOSDev #SwiftUI

2 weeks ago 11 4 0 0
Preview
The SwiftUI Way: patterns and anti-patterns for production apps 'The SwiftUI Way' is a new book by Natalia Panferova that shows experienced SwiftUI developers how to align with the framework's internal expectations.

“The SwiftUI Way” is a new book by @natpanferova.bsky.social written for SwiftUI developers who want to develop a deeper intuition for working with the framework, recognize potentially harmful anti-patterns, and build more maintainable and performant SwiftUI apps: nilcoalescing.com/blog/TheSwif...

2 weeks ago 14 7 0 0
Preview
The SwiftUI Way A field guide to SwiftUI patterns and anti-patterns

My new #SwiftUI book is finally out 🎉

I wrote "The SwiftUI Way" for developers who feel like they are fighting the framework as projects grow in complexity. The book will help you align your code with SwiftUI's internal expectations to avoid common pitfalls: books.nilcoalescing.com/the-swiftui-...

2 weeks ago 51 12 8 0
The SwiftUI Mindset: 5 Key Ideas to Avoid Common Pitfalls
The SwiftUI Mindset: 5 Key Ideas to Avoid Common Pitfalls YouTube video by iOS Conf SG

Natalia writes a wonderful book and is an extremely helpful person to follow on social media @nilcoalescing.com She’s a fountain of brilliant tips. Here is a talk with lots of useful advice for SwiftUI developers. Especially recommended to all my students. youtu.be/Y_Ov-ddMb24?...

3 weeks ago 9 2 1 0
Preview
Isolate SwiftUI animations to specific attributes Precisely scope animations to specific animatable attributes by using the animation(_:body:) API introduced in iOS 17.

Precisely scope animations to specific animatable attributes in SwiftUI by using the animation(_:body:) API introduced in iOS 17: nilcoalescing.com/blog/Isolate...
#iOSDev #SwiftUI

3 weeks ago 16 4 0 0
The SwiftUI Mindset: 5 Key Ideas to Avoid Common Pitfalls
The SwiftUI Mindset: 5 Key Ideas to Avoid Common Pitfalls YouTube video by iOS Conf SG

The recording of my talk from iOS Conf SG is now available on YouTube! In this talk I share 5 key ideas for building a SwiftUI mindset and show a few examples of what can go wrong in practice when SwiftUI principles are misunderstood: www.youtube.com/watch?v=Y_Ov...
#SwiftUI #iOSDev

3 weeks ago 18 7 1 0
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

1 month ago 8 1 0 0
Preview
Mesh gradients in SwiftUI Explore ways to create and customize mesh gradients in SwiftUI, including color adjustments, finer control with Bezier points, and color position animations to add variety and emphasis to your design.

Explore ways to create and customize mesh gradients in SwiftUI, including color adjustments, finer control with Bezier points, and color position animations to add variety and emphasis to your design: nilcoalescing.com/blog/MeshGra...
#iOSDev #macOSDev #SwiftUI

1 month ago 12 3 0 0
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...

1 month ago 14 6 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

1 month ago 5 2 0 0
Advertisement
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...

1 month ago 8 2 1 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

1 month ago 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...

1 month ago 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!

1 month ago 15 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...

2 months ago 11 4 0 0