Nil Coalescing
@NilCoalescing
Mobile and Web Development | iOS and macOS | Swift | SwiftUI | Server Development | Python | Founded by @natpanferova and @hishnash
Subscribe to the Nil Coalescing newsletter for a monthly digest of our blog and YouTube content, Swift and SwiftUI learnings from the projects we are working on, and special discounts on our books: nilcoalescing.com/newsletter
Starting with Swift 6.2 and iOS 26, we can use enumerated() in SwiftUI List and ForEach views without wrapping it in an array. I wrote a post with some examples and notes on when we should avoid using the offset as an index or id: nilcoalescing.com/blog/UsingEnum…
Make SF Symbols and custom images adapt to different font sizes while maintaining layout balance, keeping key icons clear, and providing more space for higher-priority content when needed in SwiftUI apps: nilcoalescing.com/blog/AdaptingI…
#Mac tool alert! 💻 EncodeDecode from @nilcoalescing is a lightweight menu bar app that simplifies URL encoding and decoding on macOS. Designed for developers and power users, it offers convenient access and customization options to fit your workflow. apps.apple.com/us/app/encoded…
iOS 26 comes with a few updates to sheets, like the Liquid Glass background in partial height and morphing transitions from the toolbar buttons that present them. My new blog post explores how we can take advantage of these changes in our SwiftUI apps: nilcoalescing.com/blog/Presentin…
Starting with Swift 6.2 and iOS 26, EnumeratedSequence conforms to RandomAccessCollection, allowing enumerated() to be used directly in ForEach and List views in SwiftUI: nilcoalescing.com/blog/UsingEnum…
I've just published a new video! It covers two ways to use matchedGeometryEffect() in SwiftUI: transitioning between views when one is removed and another added, and moving a selection marker by matching the geometry of a non-source view to a source. ▶️ youtu.be/i87zOQubYoI
Build a stretchy image header in SwiftUI using the visualEffect() modifier, scaling the image on pull-down without tracking scroll offset or modifying its frame: nilcoalescing.com/blog/StretchyH…
In iOS 26 we have a new framework called AlarmKit for scheduling alarms and timers that cut through silent mode and Focus. I've been experimenting with countdown timers and wrote a detailed post walking through the setup: nilcoalescing.com/blog/Countdown…
The new backgroundExtensionEffect() modifier in iOS 26 lets us extend and blur visual content beyond a view’s bounds in SwiftUI apps, creating continuous backgrounds behind elements like sidebars, inspectors, and overlay controls: nilcoalescing.com/blog/Backgroun…
My WWDC25 sale will be active for another few days. You can still get any of my Swift and SwiftUI books with a 30% discount if you haven’t had a chance yet: books.nilcoalescing.com All purchases come with free lifetime updates, and I’ll be refreshing them later this year.
I’ve been exploring the new Liquid Glass UI for our walking app Strolly, which has lots of custom controls layered on top of the map. I recorded the session and just uploaded it to YouTube. ▶️ youtu.be/sEi9T5eZO1c
Stretchy headers are a common pattern in iOS apps where the image expands as the user pulls down. We can create this effect in SwiftUI using the visualEffect() modifier without changing the image frame. I've just published a post about it: nilcoalescing.com/blog/StretchyH…
This is incredible, in case you missed it nilcoalescing.com/blog/MeshGradi… by @NilCoalescing
I started trying out the new SwiftUI APIs from #WWDC25 and was experimenting with backgroundExtensionEffect(). It extends and blurs content beyond the safe area, useful for continuing visuals behind sidebars or other overlays. Wrote a post about it: nilcoalescing.com/blog/Backgroun…
Learn how to build a macOS menu bar app in SwiftUI using MenuBarExtra, customize its icon, hide it from the Dock, and add a quit option: nilcoalescing.com/blog/BuildAMac…
Implement a high-performance lazy scrolling list in SwiftUI by efficiently reusing views for smooth scrolling with large datasets: nilcoalescing.com/blog/CustomLaz…
Don’t miss our #WWDC25 sale! All books by @natpanferova are 30% off: books.nilcoalescing.com Deepen your understanding of SwiftUI, learn to integrate it effectively into UIKit projects, and take your Swift skills to the next level!

Set a custom background, like an image or a translucent material, for SwiftUI sheets, popovers, and full-screen covers, and explicitly control the presentation color scheme: nilcoalescing.com/blog/ModalPres…
To celebrate WWDC season, SwiftUI Fundamentals and my other Swift and SwiftUI books are now 30% off! Check out our website to learn more and take advantage of the offer: books.nilcoalescing.com
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-fundam…