Reported a terrible NSViewRepresentable animation bug which probably is why List and Table are so flakey on macOS.
FB22270146
| Blog | http://www.malcolmhall.com |
Reported a terrible NSViewRepresentable animation bug which probably is why List and Table are so flakey on macOS.
FB22270146
New blog post! A close look at Tahoe menu icons. With 109 illustrations! https://tonsky.me/blog/tahoe-icons/
idk if i'm the minority in this, but i never liked the "icon for every item in menus"
it's extra noise to me.
Apple always felt like one of the hold outs on this. I could always reference them when I had this design argument.
But now with tahoe, they gave in and I feel increasingly isolated on my island of "exclude icons in context menus"
@swiftandtips If you do:
@Observable class ProductStore: ObservableObject {
Then you can continue to use @StateObject. Because using @State with class leaks heap memory, it's designed for value types only.
You can simply think of @Observable as a replacement for @Published. Not as a replacement for ObservableObject because that is needed for @StateObject, i.e. a source of truth object with lifetime linked to UI on screen.
I also wrote a deep dive on the evolution of the project—from failed KeyPath experiments and memory leak traps to the final "Shadow Storage" design that powers the library today, read it here:
🚀 I just released Swift Streamable Actors v1.0!
If you’ve ever wanted to observe changes to a Swift Actor's state as an AsyncStream without writing 30 lines of boilerplate for every property, this macro is for you.
Key highlights: ✅ 100% Type-safe (no type-erasure/AnyKeyPath) ✅ Memory safe (static factories avoid strong reference cycles) ✅ Clean API: @Streamable does it all.
Check out the code: https://github.com/malhal/swift-streamable-actors