Natalia Panferova

@natpanferova
3.5K Followers
425 Following
669 Posts
Software Engineer | iOS | macOS | Swift | SwiftUI | Previously SwiftUI at Apple | Author of books for Swift developers: https://books.nilcoalescing.com
Nil Coalescing Bloghttps://nilcoalescing.com/blog
SwiftUI Fundamentals Bookhttps://books.nilcoalescing.com/swiftui-fundamentals
The SwiftUI Way Bookhttps://books.nilcoalescing.com/the-swiftui-way
Swift Gems Bookhttps://books.nilcoalescing.com/swift-gems
If you ever need to extract all of the code snippets from a WWDC Session and have it all in a single Markdown file, then you can use my little vibe coded WWDCCodeExtractor app. Download source code or the DMG from my GitHub repo.
https://github.com/StewartLynch/WWDCCodeExtractor
In iOS 27 we can add swipe actions to items in any scroll container, not just List, by applying the new swipeActionsContainer() modifier to the wrapping ScrollView. I wrote a post with some examples: https://nilcoalescing.com/blog/CustomScrollLayoutsWithSwipeActionsInSwiftUIOnIOS27
#WWDC26 #iOSDev #SwiftUI
Custom scroll layouts with swipe actions in SwiftUI on iOS 27

iOS 27 extends support for swipe actions beyond List to any scroll container using the new swipeActionsContainer() modifier.

Nil Coalescing

The difference between clunky and polished? Animation timing. Easing curves, spring physics, and CustomAnimation β€” a comprehensive guide to making your SwiftUI interfaces feel alive.

πŸ”—: https://nilcoalescing.com/blog/AnimationTimingInSwiftUI/ by Natalia Panferova (@natpanferova)

#SwiftUI #Animation #iOSDev

SwiftUI animation timing

Review the full range of animation timing options available in SwiftUI, including easing curves, spring animations, the CustomAnimation protocol, and animation modifiers.

Nil Coalescing

RE: https://mastodon.social/@natpanferova/116718913998634585

Woohoo! β€œThe workaround of setting up the @​State property as an optional and assigning the model instance inside a task(priority:_:) modifier to avoid repeated allocations is no longer necessary.”

In Xcode 27 @State changes from a property wrapper to a macro, gaining lazy evaluation of the initial value. I summarized what this means for managing @Observable classes in our SwiftUI views: https://nilcoalescing.com/blog/InitializingObservableClassesWithTheStateMacroInXcode27/
#WWDC26 #SwiftUI #iOSDev
Initializing @Observable classes with the @State macro in Xcode 27

SwiftUI's @State changes from a property wrapper to a macro in Xcode 27, gaining lazy evaluation of the initial value and fixing unnecessary @Observable model initialization on view recreation.

Nil Coalescing
For a new app I'm working on, I needed to display a measurement in a SwiftUI Text view with the unit in a smaller font than the value. We can do this by targeting the unit component in an AttributedString. I shared an example on my blog: https://nilcoalescing.com/blog/StylingMeasurementUnitFontsInSwiftUI/
Styling measurement unit fonts in SwiftUI

Use the AttributedString API to build a reusable Text initializer that applies a distinct font to the unit component of a formatted measurement.

Nil Coalescing

πŸ“’ π—œπ˜€π˜€π˜‚π—² 𝟡𝟱 π—Άπ˜€ π—Όπ˜‚π˜!

This week's lineup:
πŸ† 𝐴𝑝𝑝𝑙𝑒 𝐷𝑒𝑠𝑖𝑔𝑛 π΄π‘€π‘Žπ‘Ÿπ‘‘π‘  2026
πŸ”„ π‘Šβ„Žπ‘Žπ‘‘'𝑠 𝑛𝑒𝑀 𝑖𝑛 𝑆𝑀𝑖𝑓𝑑
⚑ 𝑇𝑦𝑝𝑒 π‘β„Žπ‘’π‘π‘˜π‘’π‘Ÿ π‘–π‘šπ‘π‘Ÿπ‘œπ‘£π‘’π‘šπ‘’π‘›π‘‘π‘ 
🧱 𝑅𝑒𝑠𝑒𝑙𝑑 π΅π‘’π‘–π‘™π‘‘π‘’π‘Ÿπ‘  𝑖𝑛 𝑆𝑀𝑖𝑓𝑑
🏎️ 𝑆𝑀𝑖𝑓𝑑 𝑣𝑠 𝑅𝑒𝑠𝑑 π‘œπ‘› πΏπ‘Žπ‘šπ‘π‘‘π‘Ž
🎬 π‘†π‘€π‘–π‘“π‘‘π‘ˆπΌ π‘Žπ‘›π‘–π‘šπ‘Žπ‘‘π‘–π‘œπ‘› π‘‘π‘–π‘šπ‘–π‘›π‘”
πŸ’Ύ πΆπ‘œπ‘Ÿπ‘’ π·π‘Žπ‘‘π‘Ž + π‘‚π‘π‘ π‘’π‘Ÿπ‘£π‘Žπ‘‘π‘–π‘œπ‘›
πŸ€– π‘Žπ‘π‘“π‘’π‘™ π‘ π‘’π‘Ÿπ‘£π‘’ π‘šπ‘œπ‘‘π‘’

πŸ”—: https://ios-newsletter.snappmobile.io/issues/2026-05-29-issue-95.html by @snappmobile

#iosdev #swiftlang #wwdc2026

iOS Newsletter Issue 95

RE: https://mastodon.social/@natpanferova/116282898468830133

The SwiftUI Way is currently 30% off for WWDC26!

I wrote a new post covering the full range of animation timing options in SwiftUI, including easing curves, spring animations, the CustomAnimation protocol and more: https://nilcoalescing.com/blog/AnimationTimingInSwiftUI/
#iOSDev #SwiftUI
SwiftUI animation timing

Review the full range of animation timing options available in SwiftUI, including easing curves, spring animations, the CustomAnimation protocol, and animation modifiers.

Nil Coalescing

My annual WWDC book sale has started! All my Swift and SwiftUI books, including my most recent book, The SwiftUI Way, are now 30% off!

You can learn more about the available books and bundles on my website: http://books.nilcoalescing.com

#iOSDev #Swift #SwiftUI