How to structure SwiftUI navigation with NavigationSplitView and a router

You moved your SwiftUI app to a router pattern with a top-level NavigationPath, added a NavigationSplitView for iPad and Mac, and now pushing a view from the router replaces the entire content column instead of stacking inside the sidebar. You reach for .isDetailLink(false) — the old escape hatch — and find it does nothing once…

State Restoration Hiccups with Swift

Programming Cocoa apps with Swift has it’s many caveats. Many of these are derived from the fact that there are two language runtimes at play, the incumbent Objective-C runtime which is used by system frameworks and the Swift runtime as a newcomer. Here is one hard lesson learned (and workaround) when dealing with state restoration problems in a Swift app.