Matthaus Woolard's Avatar

Matthaus Woolard

@hishnash

Data Scientist, #Python and #SwiftLang, macOS/iPadOS app developer

209
Followers
366
Following
38
Posts
19.11.2023
Joined
Posts Following

Latest posts by Matthaus Woolard @hishnash

Preview
Adjusting line height in SwiftUI on iOS 26 iOS 26 introduces the lineHeight(_:) modifier and AttributedString.LineHeight attribute for adjusting vertical spacing between lines of text in SwiftUI.

On iOS 26, we have a new #SwiftUI modifier, lineHeight(_:), for adjusting the distance between the baselines of two subsequent lines of text. There are a few options available in this new API, so I thought I would look through how they behave in practice: nilcoalescing.com/blog/Adjusti...

04.03.2026 08:27 πŸ‘ 11 πŸ” 5 πŸ’¬ 0 πŸ“Œ 0
Preview
Nil Coalescing - Nil Coalescing Newsletter - February 2026 February is the shortest month of the year, yet for our team at Nil Coalescing, it was an incredibly packed one. We spent most of it on the move! I recently had the opportunity to speak at the ARCtic ...

The February issue of the Nil Coalescing newsletter is out πŸ“¬
It’s been a busy month for our team with lots of travel! I've shared a glimpse into my "Swift's Hidden Gems" talk from the ARCtic Conference, a new SwiftUI post, and plans for the near future.
nilcoalescing.com/newsletter/2...

27.02.2026 22:42 πŸ‘ 7 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0
Preview
Isolate SwiftUI animations to specific attributes Precisely scope animations to specific animatable attributes by using the animation(_:body:) API introduced in iOS 17.

For precise control over which attributes should animate in #SwiftUI, especially in generic components that accept arbitrary content, we can use the animation(_:body:) API introduced in iOS 17 to avoid accidental animations.

I've written a post about it: nilcoalescing.com/blog/Isolate...

18.02.2026 06:56 πŸ‘ 18 πŸ” 4 πŸ’¬ 0 πŸ“Œ 0
Sunset over Iso SyΓΆte with snow covered trees in the foreground shaped by heavy frost, glowing orange light from the low winter sun on the horizon, and an expansive frozen forest stretching into the distance under a clear blue sky

Sunset over Iso SyΓΆte with snow covered trees in the foreground shaped by heavy frost, glowing orange light from the low winter sun on the horizon, and an expansive frozen forest stretching into the distance under a clear blue sky

Natalia Panferova standing in a snowy park in Oulu, wearing a dark winter coat, knit hat, scarf, and boots, smiling on a snow covered path with frost covered trees and a dark sculpture visible in the background

Natalia Panferova standing in a snowy park in Oulu, wearing a dark winter coat, knit hat, scarf, and boots, smiling on a snow covered path with frost covered trees and a dark sculpture visible in the background

Reindeer standing in a snowy forest enclosure at a reindeer farm, partially framed by frost covered evergreen branches, with antlers visible and snow covering the ground and surrounding trees

Reindeer standing in a snowy forest enclosure at a reindeer farm, partially framed by frost covered evergreen branches, with antlers visible and snow covering the ground and surrounding trees

Natalia Panferova speaking on stage at the ARCtic Conference, standing at a podium under blue stage lighting with a large screen behind her displaying a Swift logo with heart shaped balloons

Natalia Panferova speaking on stage at the ARCtic Conference, standing at a podium under blue stage lighting with a large screen behind her displaying a Swift logo with heart shaped balloons

Last week I had an amazing opportunity to be part of the ARCtic Conference and present a talk on lesser known Swift language features. I really enjoyed the conference and my stay in Lapland ❄️ β˜ƒοΈ 🦌 Thank you to all the organizers, speakers and attendees!

17.02.2026 09:44 πŸ‘ 14 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0
Preview
Handle plurals in SwiftUI Text views with inflection Display grammatically correct text effortlessly with Foundation's automatic grammar agreement, handling pluralization without extra logic.

Display grammatically correct text in SwiftUI effortlessly with Foundation's automatic grammar agreement, handling pluralization without extra logic: nilcoalescing.com/blog/HandleP...
#SwiftUI #iOSDev

31.01.2026 22:24 πŸ‘ 9 πŸ” 3 πŸ’¬ 0 πŸ“Œ 0
Preview
SwiftUI Fundamentals The essential guide to SwiftUI core concepts and APIs

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 😊

30.01.2026 22:57 πŸ‘ 10 πŸ” 2 πŸ’¬ 0 πŸ“Œ 1
Preview
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...

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

28.01.2026 09:26 πŸ‘ 9 πŸ” 3 πŸ’¬ 0 πŸ“Œ 0
Natalia Panferova speaking on stage at iOS Conf SG, presenting a talk titled "The SwiftUI Mindset"

Natalia Panferova speaking on stage at iOS Conf SG, presenting a talk titled "The SwiftUI Mindset"

Group photo of speakers, organizers and attendees gathered at iOS Conf SG

Group photo of speakers, organizers and attendees gathered at iOS Conf SG

Natalia Panferova’s iOS Conf SG speaker badge displayed with RevenueCat plush toys and photo booth printouts on a table

Natalia Panferova’s iOS Conf SG speaker badge displayed with RevenueCat plush toys and photo booth printouts on a table

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

26.01.2026 09:02 πŸ‘ 17 πŸ” 3 πŸ’¬ 0 πŸ“Œ 0
Preview
Defining custom string interpolation behavior in Swift Extend Swift’s string interpolation to define custom behavior, such as value formatting, directly inside string literals.

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

13.01.2026 06:06 πŸ‘ 12 πŸ” 3 πŸ’¬ 0 πŸ“Œ 0
Preview
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...

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

28.12.2025 09:49 πŸ‘ 16 πŸ” 5 πŸ’¬ 0 πŸ“Œ 0
Preview
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.

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

22.12.2025 06:51 πŸ‘ 18 πŸ” 5 πŸ’¬ 1 πŸ“Œ 0
Preview
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.

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...

18.12.2025 05:59 πŸ‘ 12 πŸ” 5 πŸ’¬ 0 πŸ“Œ 0
Promotional graphic announcing Natalia Panferova as a speaker at ARCtic Conference, featuring Natalia standing by a blue lake and rocky hills, with text highlighting Oulu, Finland and February 10th to 12th, 2026

Promotional graphic announcing Natalia Panferova as a speaker at ARCtic Conference, featuring Natalia standing by a blue lake and rocky hills, with text highlighting Oulu, Finland and February 10th to 12th, 2026

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

12.12.2025 11:01 πŸ‘ 15 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0
Preview
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.

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

11.12.2025 23:41 πŸ‘ 8 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0
A festive watercolor illustration of two holiday coffee drinks topped with whipped cream and candy cane pieces, surrounded by ornaments, holly, and softly falling snow against a colorful blurred background

A festive watercolor illustration of two holiday coffee drinks topped with whipped cream and candy cane pieces, surrounded by ornaments, holly, and softly falling snow against a colorful blurred background

New limited edition coffee recipes are now available in Breve!

Discover Festive Delights, a collection of cozy holiday drinks crafted to bring comfort, cheer, and a little sparkle to every cup: apps.apple.com/us/app/id674...

#Coffee #CoffeeLovers #iOSApp

10.12.2025 08:30 πŸ‘ 7 πŸ” 3 πŸ’¬ 0 πŸ“Œ 0
Preview
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.

SwiftUI gives us a lot of control when styling SF Symbols, including custom foreground styles. One simple technique is to apply a foreground style with an inner shadow to make an icon look cut out from its background: nilcoalescing.com/blog/AddAnIn...
#SwiftUI #iOSDev

09.12.2025 05:57 πŸ‘ 14 πŸ” 4 πŸ’¬ 0 πŸ“Œ 0

Last day of the sale!

07.12.2025 07:07 πŸ‘ 6 πŸ” 4 πŸ’¬ 0 πŸ“Œ 0
Preview
Running Intel Binaries in Linux VMs with Rosetta | Apple Developer Documentation Run x86_64 Linux binaries under ARM Linux on Apple silicon.

Didn't they ship a version or Rosetta2 that runs on linux within arm VMs on modern Macs?

developer.apple.com/documentatio...

06.12.2025 10:27 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I find the SwiftUI layout system much more powerful than auto-layout.

Getting a performant layout with auto-layout was close to impossible compared to just implementing a the custom Layout protocol and setting some layout values on the containers views.

06.12.2025 10:26 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Black Friday promotional banner advertising 30% off Natalia Panferova's books: SwiftUI Fundamentals, Swift Gems and Integrating SwiftUI into UIKit apps

Black Friday promotional banner advertising 30% off Natalia Panferova's books: SwiftUI Fundamentals, Swift Gems and Integrating SwiftUI into UIKit apps

My Black Friday book sale will be running for a few more days, until the end of this week. All of my Swift and SwiftUI books are currently 30% off: books.nilcoalescing.com
#iOSDev #SwiftLang #SwiftUI

04.12.2025 07:44 πŸ‘ 5 πŸ” 2 πŸ’¬ 0 πŸ“Œ 1
Preview
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.

It's not always obvious what is the right way to initialize an Observable within the SwiftUI view hierarchy, and what are the consequences of getting it wrong, so I wrote a blog post exploring some common use cases: nilcoalescing.com/blog/Initial...
#iOSDev #SwiftUI

02.12.2025 05:35 πŸ‘ 16 πŸ” 4 πŸ’¬ 0 πŸ“Œ 0
Preview
Nil Coalescing - Nil Coalescing Newsletter - November 2025 The festive season is almost here, and it feels like everyone is preparing for the end-of-year break. This month, we've been wrapping up the work we wanted to finish before the holidays and have begun...

The November issue of the Nil Coalescing newsletter has been sent to all the subscribers, and it's now available online: nilcoalescing.com/newsletter/2...

I shared news on my Swift and SwiftUI book updates, Black Friday book deals, recent videos, and my conference plans for next year.

29.11.2025 06:02 πŸ‘ 9 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0
Black Friday promotional banner advertising 30% off Natalia Panferova's books: SwiftUI Fundamentals, Swift Gems and Integrating SwiftUI into UIKit apps

Black Friday promotional banner advertising 30% off Natalia Panferova's books: SwiftUI Fundamentals, Swift Gems and Integrating SwiftUI into UIKit apps

If you are looking to deepen your understanding of SwiftUI, take your Swift code to the next level, or start adopting SwiftUI in existing UIKit projects, don’t miss our Black Friday deal on @natpanferova.bsky.social's books and bundles: books.nilcoalescing.com
#iOSDev #SwiftLang #SwiftUI

26.11.2025 20:26 πŸ‘ 3 πŸ” 7 πŸ’¬ 0 πŸ“Œ 0
Preview
Swift Gems 100+ tips to take your Swift code to the next level

I've just released a small update to my book "Swift Gems" with techniques covering features introduced in Swift 6.2, including inline arrays, default values in string interpolation, and some Swift concurrency tips. And it’s currently on sale: 30% off!
books.nilcoalescing.com/swift-gems
#SwiftLang

26.11.2025 06:59 πŸ‘ 9 πŸ” 4 πŸ’¬ 0 πŸ“Œ 1
Preview
Automatic property observation in UIKit with @Observable UIKit now has native support for Swift Observation, automatically tracking reads of @Observable properties in update methods, making it easier to share data between UIKit and integrated SwiftUI compon...

UIKit now supports automatic observation tracking, making it easier to share data between UIKit and integrated SwiftUI components. I wrote a post looking into how this works on iOS 26 and iOS 18: nilcoalescing.com/blog/Automat...
#iOSDev

21.11.2025 05:38 πŸ‘ 17 πŸ” 5 πŸ’¬ 2 πŸ“Œ 0
Preview
Integrating SwiftUI into UIKit Apps A detailed guide on gradually adopting SwiftUI in UIKit projects

I've just released a new version of "Integrating SwiftUI into UIKit Apps", with all the projects updated for iOS 26 and Xcode 26!

And it's currently 30% off as part of my Black Friday book sale: books.nilcoalescing.com/integrating-...

#iOSDev #SwiftUI

20.11.2025 07:42 πŸ‘ 11 πŸ” 4 πŸ’¬ 0 πŸ“Œ 0
Black Friday promotional banner advertising 30% off Natalia Panferova's books: SwiftUI Fundamentals, Swift Gems and Integrating SwiftUI into UIKit apps

Black Friday promotional banner advertising 30% off Natalia Panferova's books: SwiftUI Fundamentals, Swift Gems and Integrating SwiftUI into UIKit apps

My Black Friday book sale has started! All of my Swift and SwiftUI books are now 30% off!

Find out more: books.nilcoalescing.com

#iOSDev #SwiftUI #SwiftLang

19.11.2025 09:13 πŸ‘ 15 πŸ” 10 πŸ’¬ 0 πŸ“Œ 2
Preview
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.

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

09.11.2025 05:30 πŸ‘ 9 πŸ” 4 πŸ’¬ 0 πŸ“Œ 0
Tips for Supporting Dynamic Type in SwiftUI Apps
Tips for Supporting Dynamic Type in SwiftUI Apps YouTube video by Nil Coalescing

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

05.11.2025 07:42 πŸ‘ 10 πŸ” 5 πŸ’¬ 1 πŸ“Œ 0
Two iPhone screenshots of a recipe view in Breve app on iOS 26 and 26.1

Two iPhone screenshots of a recipe view in Breve app on iOS 26 and 26.1

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:

03.11.2025 08:39 πŸ‘ 25 πŸ” 4 πŸ’¬ 1 πŸ“Œ 0