Natalia Panferova's Avatar

Natalia Panferova

@natpanferova.bsky.social

Software Engineer | iOS | macOS | Swift | SwiftUI | Previously SwiftUI at Apple | Author of books for Swift developers: https://books.nilcoalescing.com

8,020 Followers  |  538 Following  |  297 Posts  |  Joined: 01.01.2024
Posts Following

Posts by Natalia Panferova (@natpanferova.bsky.social)

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 โ€” ๐Ÿ‘ 6    ๐Ÿ” 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

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
Isolate SwiftUI animations to specific attributes Precisely scope animations to specific animatable attributes by using the animation(_:body:) API introduced in iOS 17.

โœจ ๐ผ๐‘ ๐‘œ๐‘™๐‘Ž๐‘ก๐‘’ ๐‘†๐‘ค๐‘–๐‘“๐‘ก๐‘ˆ๐ผ ๐‘Ž๐‘›๐‘–๐‘š๐‘Ž๐‘ก๐‘–๐‘œ๐‘›๐‘  by Natalia Panferova (@natpanferova.bsky.social)

iOS 17's ๐‘Ž๐‘›๐‘–๐‘š๐‘Ž๐‘ก๐‘–๐‘œ๐‘›(_:๐‘๐‘œ๐‘‘๐‘ฆ:) modifier offers granular control over which attributes animate. Learn how to adopt it in your apps.

#SwiftUI #Animation #iOSDev

nilcoalescing.com/blog/Isolate...

26.02.2026 15:59 โ€” ๐Ÿ‘ 6    ๐Ÿ” 1    ๐Ÿ’ฌ 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
Snapp iOS Weekly | Subscription I agree to receive your newsletters and accept the data privacy statement.

๐—๐—ฎ๐—ป๐˜‚๐—ฎ๐—ฟ๐˜†'๐˜€ ๐˜๐—ผ๐—ฝ ๐Ÿฏ ๐—บ๐—ผ๐˜€๐˜-๐—ฒ๐—ป๐—ด๐—ฎ๐—ด๐—ฒ๐—ฑ:

๐Ÿฅ‡ @natpanferova.bsky.social on ๐˜š๐˜ ๐˜š๐˜บ๐˜ฎ๐˜ฃ๐˜ฐ๐˜ญ๐˜ด ๐˜ข๐˜ฏ๐˜ช๐˜ฎ๐˜ข๐˜ต๐˜ช๐˜ฐ๐˜ฏ
๐Ÿฅˆ @fatbobman.com on ๐˜Š๐˜ฉ๐˜ช๐˜ญ๐˜ฅ ๐˜š๐˜ต๐˜ข๐˜ต๐˜ฆ ๐˜ถ๐˜ฑ๐˜ฅ๐˜ข๐˜ต๐˜ฆ๐˜ด
๐Ÿฅ‰ @natpanferova.bsky.social on ๐˜š๐˜ต๐˜ณ๐˜ช๐˜ฏ๐˜จ ๐˜ช๐˜ฏ๐˜ต๐˜ฆ๐˜ณ๐˜ฑ๐˜ฐ๐˜ญ๐˜ข๐˜ต๐˜ช๐˜ฐ๐˜ฏ

Subscribe and never miss an issue - ios-newsletter.snappmobile.io/subscribe.html

Full articles ๐Ÿ‘‡

#iOS #SwiftUI #Swift

20.02.2026 05:00 โ€” ๐Ÿ‘ 5    ๐Ÿ” 1    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 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.

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

Initializing `@Observable` objects in SwiftUI views isn't as simple as it looks. ๐Ÿง

@natpanferova.bsky.social explains why you need `@State` and how to handle the lifecycle correctly.
nilcoalescing.com/blog/Initia...

28.01.2026 16:30 โ€” ๐Ÿ‘ 5    ๐Ÿ” 1    ๐Ÿ’ฌ 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
Create a fully custom About window for a Mac app in SwiftUI Design a custom About window for your SwiftUI macOS app with a personalized layout, detailed app information, and a styled background that fits your appโ€™s look and feel.

Needed to add some information to the About window in the admin app. This post by @natpanferova.bsky.social was really helpful.

nilcoalescing.com/blog/FullyCu...

22.01.2026 22:12 โ€” ๐Ÿ‘ 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.

๐Ÿ”ค ๐˜‹๐˜ฆ๐˜ง๐˜ช๐˜ฏ๐˜ช๐˜ฏ๐˜จ ๐˜Š๐˜ถ๐˜ด๐˜ต๐˜ฐ๐˜ฎ ๐˜š๐˜ต๐˜ณ๐˜ช๐˜ฏ๐˜จ ๐˜๐˜ฏ๐˜ต๐˜ฆ๐˜ณ๐˜ฑ๐˜ฐ๐˜ญ๐˜ข๐˜ต๐˜ช๐˜ฐ๐˜ฏ ๐˜‰๐˜ฆ๐˜ฉ๐˜ข๐˜ท๐˜ช๐˜ฐ๐˜ณ by Natalia Panferova (@natpanferova.bsky.social)

Learn how to extend Swift's string interpolation with custom behavior for formatting dates and values directly in string literals.

#Swift #SwiftUI

nilcoalescing.com/blog/Definin...

20.01.2026 08:00 โ€” ๐Ÿ‘ 3    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
iOS Newsletter Issue 75 Issue 75 โ€ข January 16, 2026

๐Ÿ“ข ๐—œ๐˜€๐˜€๐˜‚๐—ฒ ๐Ÿณ๐Ÿฑ is out!

This week's squad:
๐Ÿค– ๐˜“๐˜ข๐˜ฏ๐˜จ๐˜ถ๐˜ข๐˜จ๐˜ฆ ๐˜”๐˜ฐ๐˜ฅ๐˜ฆ๐˜ญ ๐˜›๐˜ฐ๐˜ฌ๐˜ฆ๐˜ฏ๐˜ช๐˜ป๐˜ข๐˜ต๐˜ช๐˜ฐ๐˜ฏ
๐Ÿ”ค ๐˜Š๐˜ถ๐˜ด๐˜ต๐˜ฐ๐˜ฎ ๐˜š๐˜ต๐˜ณ๐˜ช๐˜ฏ๐˜จ ๐˜๐˜ฏ๐˜ต๐˜ฆ๐˜ณ๐˜ฑ๐˜ฐ๐˜ญ๐˜ข๐˜ต๐˜ช๐˜ฐ๐˜ฏ
โš™๏ธ ๐˜š๐˜ธ๐˜ช๐˜ง๐˜ต ๐˜Š๐˜ฐ๐˜ฎ๐˜ฑ๐˜ช๐˜ญ๐˜ฆ๐˜ณ ๐˜๐˜ข๐˜ค๐˜ฌ๐˜ด
๐Ÿ“‹ ๐˜Œ๐˜ท๐˜ฆ๐˜ฏ๐˜ต๐˜’๐˜ช๐˜ต ๐˜™๐˜ฆ๐˜ฎ๐˜ช๐˜ฏ๐˜ฅ๐˜ฆ๐˜ณ๐˜ด
๐ŸŽต ๐˜”๐˜ถ๐˜ด๐˜ช๐˜ค๐˜’๐˜ช๐˜ต ๐˜”๐˜ข๐˜ด๐˜ต๐˜ฆ๐˜ณ๐˜ค๐˜ญ๐˜ข๐˜ด๐˜ด
๐Ÿ‘๏ธ ๐˜๐˜ช๐˜ด๐˜ช๐˜ฐ๐˜ฏ ๐˜๐˜ณ๐˜ข๐˜ฎ๐˜ฆ๐˜ธ๐˜ฐ๐˜ณ๐˜ฌ ๐˜›๐˜ถ๐˜ต๐˜ฐ๐˜ณ๐˜ช๐˜ข๐˜ญ
๐Ÿค ๐˜›๐˜ฆ๐˜ข๐˜ฎ๐˜ด & ๐˜ˆ๐˜
๐Ÿ› ๏ธ ๐˜”๐˜ฆ๐˜ต๐˜ข๐˜ญ ๐˜›๐˜ฐ๐˜ฐ๐˜ญ๐˜ค๐˜ฉ๐˜ข๐˜ช๐˜ฏ ๐˜›๐˜ถ๐˜ณ๐˜ช๐˜ฐ๐˜ด

#iOS #Development

ios-newsletter.snappmobile.io/issues/2026-...

19.01.2026 09:45 โ€” ๐Ÿ‘ 5    ๐Ÿ” 2    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 1

It makes me very happy to hear that ๐Ÿ˜ƒ

16.01.2026 02:56 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 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
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.

โœจ ๐ด๐‘›๐‘–๐‘š๐‘Ž๐‘ก๐‘–๐‘›๐‘” ๐‘†๐น ๐‘†๐‘ฆ๐‘š๐‘๐‘œ๐‘™๐‘  ๐‘–๐‘› ๐‘†๐‘ค๐‘–๐‘“๐‘ก๐‘ˆ๐ผ by Natalia Panferova (@natpanferova.bsky.social)

Get icon animations without custom drawing code using SwiftUI symbol effects and content transitions.

#SwiftUI #SFSymbols

nilcoalescing.com/blog/Animati...

14.01.2026 09:01 โ€” ๐Ÿ‘ 9    ๐Ÿ” 2    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Screenshot of the Chestnut Latte recipe in Breve app

Screenshot of the Chestnut Latte recipe in Breve app

Have you tried this seasonal special yet?

Chestnut Latte - a silky balance of espresso and creamy milk enriched with the buttery sweetness of chestnut purรฉe.

You can find the recipe in Breve: apps.apple.com/app/apple-st...

#CoffeeLovers #CoffeeTime

14.01.2026 08:14 โ€” ๐Ÿ‘ 4    ๐Ÿ” 1    ๐Ÿ’ฌ 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.

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
iOS Newsletter Issue 74 Issue 74 โ€ข January 9, 2026

๐Ÿ“ข Issue ๐Ÿ•๐Ÿ’ is out!

Featuring:
๐Ÿค– ๐‘ƒ๐‘Ÿ๐‘œ๐‘š๐‘๐‘ก๐‘–๐‘›๐‘” ๐‘Ž๐‘› ๐‘œ๐‘›-๐‘‘๐‘’๐‘ฃ๐‘–๐‘๐‘’ ๐‘“๐‘œ๐‘ข๐‘›๐‘‘๐‘Ž๐‘ก๐‘–๐‘œ๐‘› ๐‘š๐‘œ๐‘‘๐‘’๐‘™
๐Ÿ“ฑ ๐‘†๐‘ค๐‘–๐‘“๐‘ก๐‘ˆ๐ผ ๐‘†๐‘–๐‘‘๐‘’๐‘๐‘Ž๐‘Ÿ ๐‘†๐‘’๐‘™๐‘’๐‘๐‘ก๐‘–๐‘œ๐‘›
๐Ÿ“„ ๐ถ๐‘ข๐‘ ๐‘ก๐‘œ๐‘š ๐ท๐‘œ๐‘๐‘ข๐‘š๐‘’๐‘›๐‘ก ๐‘‡๐‘ฆ๐‘๐‘’๐‘ 
โœจ ๐ด๐‘›๐‘–๐‘š๐‘Ž๐‘ก๐‘–๐‘›๐‘” ๐‘†๐น ๐‘†๐‘ฆ๐‘š๐‘๐‘œ๐‘™๐‘ 
๐Ÿ”„ ๐ถโ„Ž๐‘–๐‘™๐‘‘ ๐‘†๐‘ก๐‘Ž๐‘ก๐‘’ ๐‘ˆ๐‘๐‘‘๐‘Ž๐‘ก๐‘’๐‘ 
โšก ๐‘†๐‘ค๐‘–๐‘“๐‘ก๐‘ˆ๐ผ ๐‘ƒ๐‘’๐‘Ÿ๐‘“๐‘œ๐‘Ÿ๐‘š๐‘Ž๐‘›๐‘๐‘’
๐Ÿ’พ ๐‘ˆ๐‘ ๐‘’๐‘Ÿ๐ท๐‘’๐‘“๐‘Ž๐‘ข๐‘™๐‘ก๐‘  ๐‘†๐‘ก๐‘Ÿ๐‘ข๐‘๐‘ก๐‘ 
๐ŸŽจ ๐ด๐ผ-๐‘”๐‘’๐‘›๐‘’๐‘Ÿ๐‘Ž๐‘ก๐‘’๐‘‘ ๐ผ๐‘๐‘œ๐‘›๐‘ 

ios-newsletter.snappmobile.io/issues/2026-...

#iOSDev

12.01.2026 08:00 โ€” ๐Ÿ‘ 4    ๐Ÿ” 2    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Initializing Observable Classes
YouTube video by Stewart Lynch Initializing Observable Classes

If youโ€™ve ever wondered where to create your observable class in SwiftUI, this video walks through every case with real examples. Inspired by and credited to @natpanferova.bsky.social 's blog. Seven demo views that finally make it click. youtu.be/z0GD03x3gc4

11.01.2026 14:36 โ€” ๐Ÿ‘ 13    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Thank you for buying the book, I hope you'll find it useful! Regarding the architecture choice, I think it depends on the specific project needs, but the general advice from me would be to keep it simple and stick to something that is clear to you and others working on the same project.

28.12.2025 09:56 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 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