ViewDestination
@MainActor
public final class ViewDestination<UserInteractionType, ViewDestinationType, PresentationConfiguration> : ViewDestinationable where UserInteractionType : UserInteractionTypeable, ViewDestinationType : ViewDestinationInterfacing, PresentationConfiguration : DestinationPresentationConfiguring
extension ViewDestination: Equatable
extension ViewDestination: @preconcurrency CustomStringConvertible
A Destination class whose associated user interface is a SwiftUI View
.
This is a generic Destination that can be used to represent most View
s in a SwiftUI-based app.
-
An enum which defines all routable Destinations in the app.
Declaration
Swift
public typealias DestinationType = PresentationConfiguration.DestinationType
-
An enum which defines types of tabs in a tab bar.
Declaration
Swift
public typealias TabType = PresentationConfiguration.TabType
-
An enum which defines the types of content that are able to be sent through Destinations.
Declaration
Swift
public typealias ContentType = PresentationConfiguration.ContentType
-
An enum which defines types of Interactors. Each Destination may have its own Interactor types.
Declaration
Swift
public typealias InteractorType = ViewDestinationType.InteractorType
-
A model type which configures Destination presentations. Typically this is a
DestinationPresentation
.Declaration
Swift
public typealias PresentationConfiguration = PresentationConfiguration
-
An enum which defines user interaction types for this Destination’s interface.
Declaration
Swift
public typealias UserInteractionType = UserInteractionType
-
The
View
associated with this Destination.Declaration
Swift
public typealias ViewType = ViewDestinationType
-
A unique identifier.
Declaration
Swift
@MainActor public let id: UUID
-
This enum value conforming to
RoutableDestinations
represents a specific Destination type.Declaration
Swift
@MainActor public var type: DestinationType { get set }
-
The SwiftUI
View
class associated with this Destination.Declaration
Swift
@MainActor public var view: ViewDestinationType? { get set }
-
The identifier of this object’s parent Destination.
Declaration
Swift
@MainActor public var parentDestinationID: UUID? { get set }
-
An
AppDestinationConfigurations
object representing configurations to handle user interactions on this Destination’s associated UI.Declaration
Swift
@MainActor public var destinationConfigurations: DestinationConfigurations? { get set }
-
An
AppDestinationConfigurations
instance that holds configurations to handle system navigation events related to this Destination.Declaration
Swift
@MainActor public var systemNavigationConfigurations: NavigationConfigurations? { get set }
-
A Boolean that denotes whether the UI is currently in a navigation transition.
Declaration
Swift
@MainActor public var isSystemNavigating: Bool { get set }
-
Declaration
Swift
@MainActor public var interactors: [InteractorType : any Interactable] { get set }
-
Declaration
Swift
@MainActor public var interfaceActions: [UserInteractionType : InterfaceAction<UserInteractionType, DestinationType, ContentType>] { get set }
-
Declaration
Swift
@MainActor public var systemNavigationActions: [SystemNavigationType : InterfaceAction<SystemNavigationType, DestinationType, ContentType>] { get set }
-
Declaration
Swift
@MainActor public var interactorAssistants: [UserInteractionType : any InteractorAssisting<ViewDestination>] { get set }
-
The initializer.
Declaration
Swift
@MainActor public init(destinationType: DestinationType, destinationConfigurations: DestinationConfigurations? = nil, navigationConfigurations: NavigationConfigurations? = nil, parentDestination: UUID? = nil)
Parameters
destinationType
The type of Destination.
destinationConfigurations
The Destination presentation configurations associated with this Destination.
navigationConfigurations
The system navigation events associated with this Destination.
parentDestination
The identifier of the parent Destination.
-
Declaration
Swift
nonisolated public static func == (lhs: ViewDestination, rhs: ViewDestination) -> Bool
-
Declaration
Swift
@MainActor public var description: String { get }