Matthaus Woolard
@hishnash.bsky.social
Data Scientist, #Python and #SwiftLang, macOS/iPadOS app developer
Reposted by Matthaus Woolard
Learn how to add Codable conformance to Swift enums, including automatic synthesis, customizations, and fully manual implementations for complex cases: nilcoalescing.com/blog/Codable...
#SwiftLang #iOSDev
#SwiftLang #iOSDev
Codable conformance for Swift enums
Learn how to add Codable conformance to Swift enums, including automatic synthesis, customizations, and fully manual implementations for complex cases.
nilcoalescing.com
November 9, 2025 at 5:30 AM
Learn how to add Codable conformance to Swift enums, including automatic synthesis, customizations, and fully manual implementations for complex cases: nilcoalescing.com/blog/Codable...
#SwiftLang #iOSDev
#SwiftLang #iOSDev
Reposted by Matthaus Woolard
I've published a new video! I shared some tips for implementing Dynamic Type support in SwiftUI apps, covering system and custom fonts, ScaledMetric API, and dynamicTypeSize environment value: youtu.be/wflWj5l7wlk
#SwiftUI #iOSDev #Accessibility
#SwiftUI #iOSDev #Accessibility
Tips for Supporting Dynamic Type in SwiftUI Apps
YouTube video by Nil Coalescing
youtu.be
November 5, 2025 at 7:42 AM
I've published a new video! I shared some tips for implementing Dynamic Type support in SwiftUI apps, covering system and custom fonts, ScaledMetric API, and dynamicTypeSize environment value: youtu.be/wflWj5l7wlk
#SwiftUI #iOSDev #Accessibility
#SwiftUI #iOSDev #Accessibility
Reposted by Matthaus Woolard
I noticed that on iOS 26.1 there are some small improvements to the Liquid Glass tab bar: the selected tab color looks less saturated, making it more readable on top of colorful backgrounds, and the edge effect is stronger.
Here is @brevecoffeeapp.bsky.social on iOS 26 and 26.1:
Here is @brevecoffeeapp.bsky.social on iOS 26 and 26.1:
November 3, 2025 at 8:39 AM
I noticed that on iOS 26.1 there are some small improvements to the Liquid Glass tab bar: the selected tab color looks less saturated, making it more readable on top of colorful backgrounds, and the edge effect is stronger.
Here is @brevecoffeeapp.bsky.social on iOS 26 and 26.1:
Here is @brevecoffeeapp.bsky.social on iOS 26 and 26.1:
Reposted by Matthaus Woolard
Excited to share my recent appearance on the Swift Academy podcast! In this episode, Walid Sassi and I talk about iOS 26, Liquid Glass, SwiftUI, and Accessibility, and explore some of the new APIs along with ways to make apps more inclusive: youtu.be/CEZbwcv60MA
#iOSDev #SwiftUI
#iOSDev #SwiftUI
iOS26, SwiftUI and Accessibility with Natalia Panferova
YouTube video by Walid SASSI
youtu.be
November 2, 2025 at 9:57 PM
Excited to share my recent appearance on the Swift Academy podcast! In this episode, Walid Sassi and I talk about iOS 26, Liquid Glass, SwiftUI, and Accessibility, and explore some of the new APIs along with ways to make apps more inclusive: youtu.be/CEZbwcv60MA
#iOSDev #SwiftUI
#iOSDev #SwiftUI
Reposted by Matthaus Woolard
The October issue of the Nil Coalescing newsletter has gone out to all subscribers 📬
I've shared news on my SwiftUI Fundamentals book update, and my recent technical learnings on supporting iOS 26 and 26.1.
You can also read the issue online: nilcoalescing.com/newsletter/2...
I've shared news on my SwiftUI Fundamentals book update, and my recent technical learnings on supporting iOS 26 and 26.1.
You can also read the issue online: nilcoalescing.com/newsletter/2...
Nil Coalescing - Nil Coalescing Newsletter - October 2025
I hope you've had a productive October! This month I've started updating my books for iOS 26, released an update for my app Breve with a special Halloween event, and recorded a Swift Academy podcast e...
nilcoalescing.com
October 31, 2025 at 9:08 PM
The October issue of the Nil Coalescing newsletter has gone out to all subscribers 📬
I've shared news on my SwiftUI Fundamentals book update, and my recent technical learnings on supporting iOS 26 and 26.1.
You can also read the issue online: nilcoalescing.com/newsletter/2...
I've shared news on my SwiftUI Fundamentals book update, and my recent technical learnings on supporting iOS 26 and 26.1.
You can also read the issue online: nilcoalescing.com/newsletter/2...
Reposted by Matthaus Woolard
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: nilcoalescing.com/blog/ScrollV...
#SwiftUI #iOSDev
#SwiftUI #iOSDev
ScrollView snapping in SwiftUI
Explore SwiftUI APIs for customizing scroll behavior, including paging and view-aligned snapping, and learn what to watch out for to avoid unexpected results.
nilcoalescing.com
October 29, 2025 at 7:05 AM
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: nilcoalescing.com/blog/ScrollV...
#SwiftUI #iOSDev
#SwiftUI #iOSDev
Reposted by Matthaus Woolard
Halloween has arrived in Breve!
Discover limited-time coffee recipes brewed with a little magic and a lot of flavor 🎃✨
Breve on the App Store: apps.apple.com/app/apple-st...
#CoffeeLovers #Halloween #iOSApp
Discover limited-time coffee recipes brewed with a little magic and a lot of flavor 🎃✨
Breve on the App Store: apps.apple.com/app/apple-st...
#CoffeeLovers #Halloween #iOSApp
October 23, 2025 at 5:50 AM
Halloween has arrived in Breve!
Discover limited-time coffee recipes brewed with a little magic and a lot of flavor 🎃✨
Breve on the App Store: apps.apple.com/app/apple-st...
#CoffeeLovers #Halloween #iOSApp
Discover limited-time coffee recipes brewed with a little magic and a lot of flavor 🎃✨
Breve on the App Store: apps.apple.com/app/apple-st...
#CoffeeLovers #Halloween #iOSApp
Reposted by Matthaus Woolard
"SwiftUI Fundamentals" by @natpanferova.bsky.social has been updated for iOS 26 with refreshed visuals and examples reflecting the new Liquid Glass design: nilcoalescing.com/blog/SwiftUI...
#SwiftUI #iOSDev
#SwiftUI #iOSDev
"SwiftUI Fundamentals" book update: refreshed for iOS 26 and the Liquid Glass design
'SwiftUI Fundamentals' by Natalia Panferova has been updated for iOS 26 with refreshed visuals and examples reflecting the new Liquid Glass design.
nilcoalescing.com
October 22, 2025 at 8:57 PM
"SwiftUI Fundamentals" by @natpanferova.bsky.social has been updated for iOS 26 with refreshed visuals and examples reflecting the new Liquid Glass design: nilcoalescing.com/blog/SwiftUI...
#SwiftUI #iOSDev
#SwiftUI #iOSDev
Reposted by Matthaus Woolard
SwiftUI makes it easy to show a “no results” state for search with ContentUnavailableView.search. And it even automatically includes the search text in the message, as long as it’s used within the scope of the searchable() modifier.
#iOSDev #SwiftUI
#iOSDev #SwiftUI
October 22, 2025 at 5:37 AM
SwiftUI makes it easy to show a “no results” state for search with ContentUnavailableView.search. And it even automatically includes the search text in the message, as long as it’s used within the scope of the searchable() modifier.
#iOSDev #SwiftUI
#iOSDev #SwiftUI
Reposted by Matthaus Woolard
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: books.nilcoalescing.com/swiftui-fund...
#iOSDev #SwiftUI
You can check it out and get the new version here: books.nilcoalescing.com/swiftui-fund...
#iOSDev #SwiftUI
SwiftUI Fundamentals
The essential guide to SwiftUI core concepts and APIs
books.nilcoalescing.com
October 20, 2025 at 5:53 AM
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: books.nilcoalescing.com/swiftui-fund...
#iOSDev #SwiftUI
You can check it out and get the new version here: books.nilcoalescing.com/swiftui-fund...
#iOSDev #SwiftUI
Reposted by Matthaus Woolard
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: nilcoalescing.com/blog/Multipl...
#SwiftUI #iOSDev
#SwiftUI #iOSDev
Multiple buttons in SwiftUI List rows
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.
nilcoalescing.com
October 18, 2025 at 11:13 PM
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: nilcoalescing.com/blog/Multipl...
#SwiftUI #iOSDev
#SwiftUI #iOSDev
Reposted by Matthaus Woolard
Macchiato or Latte Macchiato? Bold espresso softened by a touch of milk, or creamy milk marked by espresso?
Learn how to make both in Breve: apps.apple.com/app/apple-st...
#Coffee #CoffeeLovers #CoffeeTime #Espresso
Learn how to make both in Breve: apps.apple.com/app/apple-st...
#Coffee #CoffeeLovers #CoffeeTime #Espresso
October 17, 2025 at 6:23 AM
Macchiato or Latte Macchiato? Bold espresso softened by a touch of milk, or creamy milk marked by espresso?
Learn how to make both in Breve: apps.apple.com/app/apple-st...
#Coffee #CoffeeLovers #CoffeeTime #Espresso
Learn how to make both in Breve: apps.apple.com/app/apple-st...
#Coffee #CoffeeLovers #CoffeeTime #Espresso
Reposted by Matthaus Woolard
Discover how to use the Observable macro in SwiftUI and its advantages over ObservableObject, such as more efficient view updates and simplified code management: nilcoalescing.com/blog/Observa...
#SwiftUI #iOSDev
#SwiftUI #iOSDev
Using @Observable in SwiftUI views
Discover how to use the @Observable macro in SwiftUI and its advantages over ObservableObject, such as more efficient view updates and simplified code management.
nilcoalescing.com
October 16, 2025 at 11:08 PM
Discover how to use the Observable macro in SwiftUI and its advantages over ObservableObject, such as more efficient view updates and simplified code management: nilcoalescing.com/blog/Observa...
#SwiftUI #iOSDev
#SwiftUI #iOSDev
Reposted by Matthaus Woolard
In the first version of @brevecoffeeapp.bsky.social 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().
#SwiftUI #iOSDev
#SwiftUI #iOSDev
October 15, 2025 at 11:06 PM
In the first version of @brevecoffeeapp.bsky.social 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().
#SwiftUI #iOSDev
#SwiftUI #iOSDev
Reposted by Matthaus Woolard
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: nilcoalescing.com/blog/ShowIco...
#iOSDev #SwiftUI
#iOSDev #SwiftUI
Show icons only in SwiftUI swipe actions on iOS 26
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.
nilcoalescing.com
October 15, 2025 at 6:08 AM
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: nilcoalescing.com/blog/ShowIco...
#iOSDev #SwiftUI
#iOSDev #SwiftUI
Reposted by Matthaus Woolard
Looking for a cosy drink to warm up your day? ☕️
Try a Dirty Chai Latte. It combines the warmth of chai spices with the kick of espresso, the perfect autumn companion.
Find it in Breve: apps.apple.com/app/apple-st...
#CoffeeLovers #CoffeeBreak #AppDesign
Try a Dirty Chai Latte. It combines the warmth of chai spices with the kick of espresso, the perfect autumn companion.
Find it in Breve: apps.apple.com/app/apple-st...
#CoffeeLovers #CoffeeBreak #AppDesign
October 14, 2025 at 8:30 AM
Looking for a cosy drink to warm up your day? ☕️
Try a Dirty Chai Latte. It combines the warmth of chai spices with the kick of espresso, the perfect autumn companion.
Find it in Breve: apps.apple.com/app/apple-st...
#CoffeeLovers #CoffeeBreak #AppDesign
Try a Dirty Chai Latte. It combines the warmth of chai spices with the kick of espresso, the perfect autumn companion.
Find it in Breve: apps.apple.com/app/apple-st...
#CoffeeLovers #CoffeeBreak #AppDesign
Reposted by Matthaus Woolard
Just released @brevecoffeeapp.bsky.social version 1.1! Updated the timers, added a new setting to switch to precise measurements for all recipes for those who like to weigh everything, and made a few other small improvements based on user feedback: apps.apple.com/app/apple-st...
#iOSDev #IndieDev
#iOSDev #IndieDev
October 12, 2025 at 6:32 AM
Just released @brevecoffeeapp.bsky.social version 1.1! Updated the timers, added a new setting to switch to precise measurements for all recipes for those who like to weigh everything, and made a few other small improvements based on user feedback: apps.apple.com/app/apple-st...
#iOSDev #IndieDev
#iOSDev #IndieDev
Reposted by Matthaus Woolard
Learn how to define custom environment values in SwiftUI, eliminate boilerplate with the Entry macro, and pass data through the view hierarchy effectively: nilcoalescing.com/blog/CustomE...
#SwiftUI #iOSDev
#SwiftUI #iOSDev
Custom environment values in SwiftUI
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.
nilcoalescing.com
October 12, 2025 at 1:38 AM
Learn how to define custom environment values in SwiftUI, eliminate boilerplate with the Entry macro, and pass data through the view hierarchy effectively: nilcoalescing.com/blog/CustomE...
#SwiftUI #iOSDev
#SwiftUI #iOSDev
Reposted by Matthaus Woolard
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: apps.apple.com/app/apple-st...
#iOSApp #IndieDev #CoffeeLovers
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: apps.apple.com/app/apple-st...
#iOSApp #IndieDev #CoffeeLovers
October 11, 2025 at 11:33 PM
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: apps.apple.com/app/apple-st...
#iOSApp #IndieDev #CoffeeLovers
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: apps.apple.com/app/apple-st...
#iOSApp #IndieDev #CoffeeLovers
Reposted by Matthaus Woolard
Exciting to see @brevecoffeeapp.bsky.social included in the latest issue of Those Who Swift newsletter 🤩
thosewhoswift.substack.com/p/those-who-...
thosewhoswift.substack.com/p/those-who-...
October 9, 2025 at 8:39 AM
Exciting to see @brevecoffeeapp.bsky.social included in the latest issue of Those Who Swift newsletter 🤩
thosewhoswift.substack.com/p/those-who-...
thosewhoswift.substack.com/p/those-who-...
Reposted by Matthaus Woolard
When testing Dynamic Type support in @brevecoffeeapp.bsky.social I noticed that text would get truncated at larger text sizes for no real reason. I had to apply fixedSize(horizontal:vertical:) as a workaround to force the text to wrap instead: nilcoalescing.com/blog/Avoidin...
#SwiftUI #iOSDev
#SwiftUI #iOSDev
Avoiding text truncation in SwiftUI with Dynamic Type
Prevent unnecessary text truncation at larger text sizes with the fixedSize(horizontal:vertical:) modifier, forcing the text to expand vertically as needed.
nilcoalescing.com
October 6, 2025 at 6:18 AM
When testing Dynamic Type support in @brevecoffeeapp.bsky.social I noticed that text would get truncated at larger text sizes for no real reason. I had to apply fixedSize(horizontal:vertical:) as a workaround to force the text to wrap instead: nilcoalescing.com/blog/Avoidin...
#SwiftUI #iOSDev
#SwiftUI #iOSDev
Reposted by Matthaus Woolard
Format interpolated values like arrays of strings, measurements, and dates directly inside SwiftUI Text views using FormatStyle, and display dynamic dates using Text.DateStyle: nilcoalescing.com/blog/Formatt...
#SwiftUI #iOSDev #SwiftLang
#SwiftUI #iOSDev #SwiftLang
Formatting data inside SwiftUI Text views
Format interpolated values like arrays of strings, measurements, and dates directly inside SwiftUI Text views using FormatStyle, and display dynamic dates using Text.DateStyle.
nilcoalescing.com
October 5, 2025 at 10:34 PM
Format interpolated values like arrays of strings, measurements, and dates directly inside SwiftUI Text views using FormatStyle, and display dynamic dates using Text.DateStyle: nilcoalescing.com/blog/Formatt...
#SwiftUI #iOSDev #SwiftLang
#SwiftUI #iOSDev #SwiftLang
Reposted by Matthaus Woolard
I wrote a blog post taking a closer look at my new app @brevecoffeeapp.bsky.social from a technical perspective, sharing what I learned while building it for iOS 26 with Liquid Glass design, new SwiftUI APIs, and system integrations: nilcoalescing.com/blog/Introdu...
#iOSDev #SwiftUI #IndieDev
#iOSDev #SwiftUI #IndieDev
Introducing Breve: an arty coffee app built for iOS 26
Take a closer look at my new app Breve, exploring the technical insights around Liquid Glass design, iOS 26 SwiftUI APIs, and system integrations.
nilcoalescing.com
October 4, 2025 at 6:32 AM
I wrote a blog post taking a closer look at my new app @brevecoffeeapp.bsky.social from a technical perspective, sharing what I learned while building it for iOS 26 with Liquid Glass design, new SwiftUI APIs, and system integrations: nilcoalescing.com/blog/Introdu...
#iOSDev #SwiftUI #IndieDev
#iOSDev #SwiftUI #IndieDev
Reposted by Matthaus Woolard
Swift 6.2 is here with iOS 26 and Xcode 26, and while most of the focus is on concurrency, there are other noteworthy changes and improvements too. Get up to speed with the non-concurrency updates in Swift 6.2: youtu.be/0hI_4OWN31o
#SwiftLang
#SwiftLang
What’s New in Swift 6.2 (Beyond Concurrency Updates)
YouTube video by Nil Coalescing
youtu.be
October 3, 2025 at 8:40 PM
Swift 6.2 is here with iOS 26 and Xcode 26, and while most of the focus is on concurrency, there are other noteworthy changes and improvements too. Get up to speed with the non-concurrency updates in Swift 6.2: youtu.be/0hI_4OWN31o
#SwiftLang
#SwiftLang
Reposted by Matthaus Woolard
The September issue of the Nil Coalescing newsletter is now out! I've shared some technical insights from building my new app @brevecoffeeapp.bsky.social for iOS 26, and it also includes a picture of a cat 😁
Find it in your inbox or read online: nilcoalescing.com/newsletter/2...
#iOSDev #SwiftUI
Find it in your inbox or read online: nilcoalescing.com/newsletter/2...
#iOSDev #SwiftUI
Nil Coalescing - Nil Coalescing Newsletter - September 2025
September was a really eventful month with iPhone 17 launch, iOS 26 release, and many great events running in the iOS developer community. The newsletter got slightly delayed this time, I was focusing...
nilcoalescing.com
October 2, 2025 at 5:28 AM
The September issue of the Nil Coalescing newsletter is now out! I've shared some technical insights from building my new app @brevecoffeeapp.bsky.social for iOS 26, and it also includes a picture of a cat 😁
Find it in your inbox or read online: nilcoalescing.com/newsletter/2...
#iOSDev #SwiftUI
Find it in your inbox or read online: nilcoalescing.com/newsletter/2...
#iOSDev #SwiftUI