Natalia Panferova
banner
natpanferova.bsky.social
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
Pinned
I released a new book 🎉

SwiftUI Fundamentals combines my knowledge and experience from using SwiftUI since its release and working on its source code at Apple to give you a solid understanding of the most important aspects of the framework: books.nilcoalescing.com/swiftui-fund...

#SwiftUI #iOSDev
SwiftUI Fundamentals
The essential guide to SwiftUI core concepts and APIs
books.nilcoalescing.com
Reposted by Natalia Panferova
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
Reposted by Natalia Panferova
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
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
Reposted by Natalia Panferova
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 Natalia Panferova
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...
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
January 28, 2026 at 4:30 PM
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
Reposted by Natalia Panferova
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
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
Reposted by Natalia Panferova
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...
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.
nilcoalescing.com
January 22, 2026 at 10:12 PM
Reposted by Natalia Panferova
🔤 𝘋𝘦𝘧𝘪𝘯𝘪𝘯𝘨 𝘊𝘶𝘴𝘵𝘰𝘮 𝘚𝘵𝘳𝘪𝘯𝘨 𝘐𝘯𝘵𝘦𝘳𝘱𝘰𝘭𝘢𝘵𝘪𝘰𝘯 𝘉𝘦𝘩𝘢𝘷𝘪𝘰𝘳 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...
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 20, 2026 at 8:01 AM
Reposted by Natalia Panferova
📢 𝗜𝘀𝘀𝘂𝗲 𝟳𝟱 is out!

This week's squad:
🤖 𝘓𝘢𝘯𝘨𝘶𝘢𝘨𝘦 𝘔𝘰𝘥𝘦𝘭 𝘛𝘰𝘬𝘦𝘯𝘪𝘻𝘢𝘵𝘪𝘰𝘯
🔤 𝘊𝘶𝘴𝘵𝘰𝘮 𝘚𝘵𝘳𝘪𝘯𝘨 𝘐𝘯𝘵𝘦𝘳𝘱𝘰𝘭𝘢𝘵𝘪𝘰𝘯
⚙️ 𝘚𝘸𝘪𝘧𝘵 𝘊𝘰𝘮𝘱𝘪𝘭𝘦𝘳 𝘏𝘢𝘤𝘬𝘴
📋 𝘌𝘷𝘦𝘯𝘵𝘒𝘪𝘵 𝘙𝘦𝘮𝘪𝘯𝘥𝘦𝘳𝘴
🎵 𝘔𝘶𝘴𝘪𝘤𝘒𝘪𝘵 𝘔𝘢𝘴𝘵𝘦𝘳𝘤𝘭𝘢𝘴𝘴
👁️ 𝘝𝘪𝘴𝘪𝘰𝘯 𝘍𝘳𝘢𝘮𝘦𝘸𝘰𝘳𝘬 𝘛𝘶𝘵𝘰𝘳𝘪𝘢𝘭
🤝 𝘛𝘦𝘢𝘮𝘴 & 𝘈𝘐
🛠️ 𝘔𝘦𝘵𝘢𝘭 𝘛𝘰𝘰𝘭𝘤𝘩𝘢𝘪𝘯 𝘛𝘶𝘳𝘪𝘰𝘴

#iOS #Development

ios-newsletter.snappmobile.io/issues/2026-...
iOS Newsletter Issue 75
Issue 75 • January 16, 2026
ios-newsletter.snappmobile.io
January 19, 2026 at 9:45 AM
Reposted by Natalia Panferova
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 Natalia Panferova
✨ 𝐴𝑛𝑖𝑚𝑎𝑡𝑖𝑛𝑔 𝑆𝐹 𝑆𝑦𝑚𝑏𝑜𝑙𝑠 𝑖𝑛 𝑆𝑤𝑖𝑓𝑡𝑈𝐼 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...
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 14, 2026 at 9:01 AM
Reposted by Natalia Panferova
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
January 14, 2026 at 8:14 AM
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 Natalia Panferova
📢 Issue 𝟕𝟒 is out!

Featuring:
🤖 𝑃𝑟𝑜𝑚𝑝𝑡𝑖𝑛𝑔 𝑎𝑛 𝑜𝑛-𝑑𝑒𝑣𝑖𝑐𝑒 𝑓𝑜𝑢𝑛𝑑𝑎𝑡𝑖𝑜𝑛 𝑚𝑜𝑑𝑒𝑙
📱 𝑆𝑤𝑖𝑓𝑡𝑈𝐼 𝑆𝑖𝑑𝑒𝑏𝑎𝑟 𝑆𝑒𝑙𝑒𝑐𝑡𝑖𝑜𝑛
📄 𝐶𝑢𝑠𝑡𝑜𝑚 𝐷𝑜𝑐𝑢𝑚𝑒𝑛𝑡 𝑇𝑦𝑝𝑒𝑠
✨ 𝐴𝑛𝑖𝑚𝑎𝑡𝑖𝑛𝑔 𝑆𝐹 𝑆𝑦𝑚𝑏𝑜𝑙𝑠
🔄 𝐶ℎ𝑖𝑙𝑑 𝑆𝑡𝑎𝑡𝑒 𝑈𝑝𝑑𝑎𝑡𝑒𝑠
⚡ 𝑆𝑤𝑖𝑓𝑡𝑈𝐼 𝑃𝑒𝑟𝑓𝑜𝑟𝑚𝑎𝑛𝑐𝑒
💾 𝑈𝑠𝑒𝑟𝐷𝑒𝑓𝑎𝑢𝑙𝑡𝑠 𝑆𝑡𝑟𝑢𝑐𝑡𝑠
🎨 𝐴𝐼-𝑔𝑒𝑛𝑒𝑟𝑎𝑡𝑒𝑑 𝐼𝑐𝑜𝑛𝑠

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

#iOSDev
iOS Newsletter Issue 74
Issue 74 • January 9, 2026
ios-newsletter.snappmobile.io
January 12, 2026 at 8:00 AM
Reposted by Natalia Panferova
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
Initializing Observable Classes
YouTube video by Stewart Lynch
youtu.be
January 11, 2026 at 2:36 PM
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
Reposted by Natalia Panferova
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
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
Reposted by Natalia Panferova
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 Natalia Panferova
📱 𝐴𝑑𝑑 𝑎𝑛 𝑖𝑛𝑛𝑒𝑟 𝑠ℎ𝑎𝑑𝑜𝑤 𝑡𝑜 𝑎 𝑠𝑦𝑚𝑏𝑜𝑙 𝑖𝑚𝑎𝑔𝑒 𝑖𝑛 𝑆𝑤𝑖𝑓𝑡𝑈𝐼 by Natalia Panferova (@natpanferova.bsky.social)

Learn how to create SF Symbols that appear cut out from their background using inner shadows for subtle depth effects in SwiftUI.

#SwiftUI #iOSDev #UIDesign

nilcoalescing.com/blog/AddAnIn...
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 15, 2025 at 2:30 PM
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
Reposted by Natalia Panferova
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
Reposted by Natalia Panferova
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