NilCoalescing Profile Banner
Nil Coalescing Profile
Nil Coalescing

@NilCoalescing

Followers
2K
Following
477
Media
7
Statuses
464

Mobile and Web Development | iOS and macOS | Swift | SwiftUI | Server Development | Python | Founded by @natpanferova and @hishnash

Central Otago, New Zealand
Joined April 2022
Don't wanna be here? Send us removal request.
@NilCoalescing
Nil Coalescing
5 months
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: https://t.co/Vzbzy1hAAz
Tweet card summary image
nilcoalescing.com
0
4
18
@natpanferova
Natalia Panferova
12 hours
I've been exploring SwiftUI APIs for customizing scroll behavior, including paging and view-aligned snapping, and wrote a post sharing what I learned and what to watch out for to avoid unexpected results: https://t.co/wgOB7A1Kne
Tweet card summary image
nilcoalescing.com
Explore SwiftUI APIs for customizing scroll behavior, including paging and view-aligned snapping, and learn what to watch out for to avoid unexpected results.
0
9
108
@NilCoalescing
Nil Coalescing
6 days
Starting with iOS 26, SwiftUI shows both title and icon in swipe action buttons by default, but the previous icon-only appearance can be restored using the labelStyle() modifier:
Tweet card summary image
nilcoalescing.com
Starting with iOS 26, SwiftUI shows both title and icon in swipe action buttons by default, but the previous icon-only appearance can be restored using the labelStyle() modifier.
0
7
47
@NilCoalescing
Nil Coalescing
7 days
"SwiftUI Fundamentals" by @natpanferova has been updated for iOS 26 with refreshed visuals and examples reflecting the new Liquid Glass design:
Tweet card summary image
nilcoalescing.com
'SwiftUI Fundamentals' by Natalia Panferova has been updated for iOS 26 with refreshed visuals and examples reflecting the new Liquid Glass design.
1
4
29
@natpanferova
Natalia Panferova
8 days
SwiftUI makes it easy to show a “no results” state for search with https://t.co/Hxp8zhMdxK. And it even automatically includes the search text in the message, as long as it’s used within the scope of the searchable() modifier.
7
11
192
@NilCoalescing
Nil Coalescing
8 days
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: https://t.co/BlD16zw4Wr
Tweet card summary image
nilcoalescing.com
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.
2
5
55
@natpanferova
Natalia Panferova
10 days
I’ve just published an update for my SwiftUI Fundamentals book! It’s now refreshed for iOS 26 and the new Liquid Glass design, with updated examples and screenshots throughout. You can check it out and get the new version here: https://t.co/079BDXNAnd
Tweet card summary image
books.nilcoalescing.com
The essential guide to SwiftUI core concepts and APIs
2
12
92
@NilCoalescing
Nil Coalescing
11 days
Buttons inside a SwiftUI List row can cause the entire row to become tappable and trigger multiple buttons at once, but applying a specific button style ensures each button works independently:
Tweet card summary image
nilcoalescing.com
Buttons inside a List row can cause the entire row to become tappable and trigger multiple buttons at once, but applying a specific button style ensures each button works independently.
3
4
61
@natpanferova
Natalia Panferova
11 days
On iOS 26 we have a new `close` button role in SwiftUI to dismiss a view without losing the user’s progress, unlike a cancel action. A convenient way to add a dismiss button for modals without the need to define a custom button label!
5
30
447
@NilCoalescing
Nil Coalescing
13 days
Discover how to use the Observable macro in SwiftUI and its advantages over ObservableObject, such as more efficient view updates and simplified code management:
Tweet card summary image
nilcoalescing.com
Discover how to use the @Observable macro in SwiftUI and its advantages over ObservableObject, such as more efficient view updates and simplified code management.
0
5
36
@natpanferova
Natalia Panferova
14 days
In the first version of @BreveCoffeeApp I placed timers in the tab view’s bottom accessory, but it broke in iOS 26.1 beta. In the latest release, I switched to a custom view with an interactive glass effect. To keep it always visible above the tabs, I used safeAreaBar().
5
7
143
@natpanferova
Natalia Panferova
15 days
I noticed that on iOS 26, the default swipe action appearance changed to show both an icon and a title instead of just the icon. If we want to restore the previous icon-only look, we can use the labelStyle() modifier in SwiftUI: https://t.co/pV88tWqukH
Tweet card summary image
nilcoalescing.com
Starting with iOS 26, SwiftUI shows both title and icon in swipe action buttons by default, but the previous icon-only appearance can be restored using the labelStyle() modifier.
0
5
59
@NilCoalescing
Nil Coalescing
16 days
In SwiftUI, the popover() modifier shows a popover on iPad but turns into a sheet on iPhone by default. To prefer popover presentation even in compact size classes, we can apply presentationCompactAdaptation(_:) inside the popover's content:
Tweet card summary image
nilcoalescing.com
Starting with iOS 16.4, we can use the presentationCompactAdaptation(_:) modifier to tell SwiftUI that we prefer popover presentation even in compact size classes.
1
5
35
@NilCoalescing
Nil Coalescing
18 days
Learn how to define custom environment values in SwiftUI, eliminate boilerplate with the Entry macro, and pass data through the view hierarchy effectively:
Tweet card summary image
nilcoalescing.com
Learn how to define custom environment values in SwiftUI, eliminate boilerplate with the @Entry macro in Xcode 16, and pass data through the view hierarchy efficiently.
1
6
51
@BreveCoffeeApp
Breve
18 days
Breve version 1.1 is here! Enjoy improved brewing timers, a new precise mode for ingredient measurements, and other improvements to make your coffee experiments at home even more delightful! Download on the App Store: https://t.co/TgrrIIj12m
0
3
6
@twannl
Antoine v.d. SwiftLee 
20 days
Text truncation can be annoying when developing apps in SwiftUI. Luckily, @nilcoalescing’s fix is simple! Curated in this week's #swiftleeweekly
Tweet card summary image
nilcoalescing.com
Prevent unnecessary text truncation at larger text sizes with the fixedSize(horizontal:vertical:) modifier, forcing the text to expand vertically as needed.
4
7
115
@AntonGubarenko
Anton Gubarenko
21 days
Those Who Swift — Issue 235 is out☕️! This week, we’ve partnered with @natpanferova — not just a former Apple Engineer, but also the creator of Breve, an iOS app with recipes for your favorite drinks, tailored to any taste.
1
3
7
@NilCoalescing
Nil Coalescing
23 days
Explore different ways to work with the SwiftUI environment, including reading and setting values, creating custom environment keys, and using it to pass down actions and observable classes: https://t.co/K1h96sMSEf
Tweet card summary image
nilcoalescing.com
Explore different ways to work with the SwiftUI environment, including reading and setting values, creating custom environment keys, and using it to pass down actions and observable classes.
0
5
25
@natpanferova
Natalia Panferova
24 days
When testing Dynamic Type support in @BreveCoffeeApp I noticed that text would get truncated sometimes at larger text sizes for no real reason. I had to apply the fixedSize(horizontal:vertical:) modifier as a workaround. I wrote a short post about it: https://t.co/FqDalaZ0F3
Tweet card summary image
nilcoalescing.com
Prevent unnecessary text truncation at larger text sizes with the fixedSize(horizontal:vertical:) modifier, forcing the text to expand vertically as needed.
2
8
101
@NilCoalescing
Nil Coalescing
24 days
Format interpolated values like arrays of strings, measurements, and dates directly inside SwiftUI Text views using FormatStyle, and display dynamic dates using Text.DateStyle:
Tweet card summary image
nilcoalescing.com
Format interpolated values like arrays of strings, measurements, and dates directly inside SwiftUI Text views using FormatStyle, and display dynamic dates using Text.DateStyle.
0
6
28
@vatsal_manot
Vatsal
25 days
Much needed article for things Apple should be documenting better to help developers integrate with the system in the way that they keep preaching about. Thanks again to @NilCoalescing for consistently publishing quality guides!
@NilCoalescing
Nil Coalescing
25 days
Discover how to use a shared Core Spotlight search index to make content discoverable in system Spotlight and support internal search within your iOS app:
2
2
9