Heterogeneous Swift Dictionary With Strong Types
The environment in SwiftUI is sort of like a global dictionary but with stronger types: each key (represented by a key path) can have its own specific value type. For example, the
\.isEnabledkey stores a boolean value, whereas the\.fontkey stores anOptional<Font>.I wrote a custom dictionary type that can do the same thing. The
HeterogeneousDictionarystruct I show in this article stores mixed key-value pairs where each key defines the type of value it stores. The public API is fully type-safe, no casting required.
This is also similar to what the new AttributedString type uses. URLResourceValues takes a different approach, using a struct with optional properties.
1 Comment RSS · Twitter
Along those lines, I built a type safe rule system for SwiftUI a few years ago: http://www.alwaysrightinstitute.com/swiftuirules/#swiftui-rules
Maybe interesting, maybe not :-) Direct2SwiftUI builds on top of it.