Sitemap
The Swift Cooperative

Authors publishing advanced articles on Swift and SwiftUI application development.

SwiftUI: Eliminating Navigation Registrations

How to dispense with navigationDestination(for:)… forever.

6 min readSep 27, 2025

--

Press enter or click to view image in full size

In earlier articles regarding my open source project Navigator, I’ve illustrated how NavigationDestination types simplify view navigation and presentation, and how they work with the rest of Navigator to support many advanced deep-linking and routing techniques.

And now, when used correctly, NavigationDestinations can also eliminate the need to do navigationDestination(for: MyType.self) registrations in your code.

Forever.

Let’s find out how.

Note that while this article discusses Navigator, the techniques demonstrated can be applied to any application.

About NavigationDestination

I wrote an entire article on Advanced Navigation Destinations, but so the rest of the following code makes sense I’ll just quickly reiterate the high points. You can come back and read the article later, if you wish.

A NavigationDestination is an enumerated type that allows you to define a simple value one can use with NavigationLink(value:label:), or when presenting sheets and fullScreenCover views.

--

--

The Swift Cooperative
The Swift Cooperative

Published in The Swift Cooperative

Authors publishing advanced articles on Swift and SwiftUI application development.

Michael Long
Michael Long

Written by Michael Long

I write about Apple, Swift, and SwiftUI in particular, and technology in general. I'm also a Lead iOS Engineer at InRhythm, a modern digital consulting firm.

Responses (5)