Modern UIKit: Tree-based Navigation

Episode #286 • Jul 8, 2024 • Subscriber-Only

While SwiftUI bindings were almost the perfect tool for UIKit navigation, they unfortunately hide some crucial information that we need to build out our tools. But never fear, we can rebuild them from scratch! Let’s build @Binding and @Bindable from scratch to see how they work, and we will use them to drive concise, tree-based navigation using enums.

Previous episode
Modern UIKit: Tree-based Navigation
Next episode

Unlock This Episode

Our Free plan includes 1 subscriber-only episode of your choice, plus weekly updates from our newsletter.

Sign in with GitHub



OK, we clearly see the need for more information from our bindings. We would like to where the binding was derived from, and what key paths were used to do the deriving. That would give us the important information we need to distinguish between multiple presented controllers.


But SwiftUI’s Binding doesn’t give us this information, so it is on us to build our own binding from scratch. It may sound a little intimidating to build something like Binding from scratch, but it’s not so bad.

Let’s give it a shot.

Binding from scratch



Get started with our free plan

Our free plan includes 1 subscriber-only episode of your choice, access to 62 free episodes with transcripts and code samples, and weekly updates from our newsletter.

View plans and pricing