NavigationControllerDestination
@MainActor
public final class NavigationControllerDestination<UserInteractionType, ControllerDestinationType, PresentationConfigurationType, InteractorType> : NavigatingControllerDestinationable where UserInteractionType : UserInteractionTypeable, ControllerDestinationType : NavigationControllerDestinationInterfacing, PresentationConfigurationType : DestinationPresentationConfiguring, InteractorType : InteractorTypeable
extension NavigationControllerDestination: Equatable
extension NavigationControllerDestination: @preconcurrency CustomStringConvertible
A Destination class whose associated user interface is a UINavigationController
.
This is a generic Destination that can be used to represent most UINavigationController
classes in a UIKit-based app.
-
Declaration
Swift
public typealias DestinationType = PresentationConfigurationType.DestinationType
-
Declaration
Swift
public typealias TabType = PresentationConfigurationType.TabType
-
Declaration
Swift
public typealias ContentType = PresentationConfigurationType.ContentType
-
Declaration
Swift
public typealias InteractorType = InteractorType
-
Declaration
Swift
public typealias PresentationConfiguration = PresentationConfigurationType
-
Declaration
Swift
public typealias UserInteractionType = UserInteractionType
-
Declaration
Swift
public typealias ControllerType = ControllerDestinationType
-
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
-
The
UIViewController
class associated with this Destination.Declaration
Swift
@MainActor public var controller: ControllerType?
-
The identifier of this object’s parent Destination.
Declaration
Swift
@MainActor public var parentDestinationID: UUID?
-
An
AppDestinationConfigurations
object representing configurations to handle user interactions on this Destination’s associated UI.Declaration
Swift
@MainActor public var destinationConfigurations: DestinationConfigurations?
-
An
AppDestinationConfigurations
instance that holds configurations to handle system navigation events related to this Destination.Declaration
Swift
@MainActor public var systemNavigationConfigurations: NavigationConfigurations?
-
Declaration
Swift
@MainActor public var childDestinations: [any Destinationable<PresentationConfiguration>]
-
Declaration
Swift
@MainActor public var currentChildDestination: (any Destinationable<PresentationConfiguration>)?
-
A Boolean that denotes whether the UI is currently in a navigation transition.
Declaration
Swift
@MainActor public var isSystemNavigating: Bool
-
Declaration
Swift
@MainActor public var interactors: [InteractorType : any Interactable]
-
Declaration
Swift
@MainActor public var interfaceActions: [UserInteractionType : InterfaceAction<UserInteractionType, DestinationType, ContentType>]
-
Declaration
Swift
@MainActor public var systemNavigationActions: [SystemNavigationType : InterfaceAction<SystemNavigationType, DestinationType, ContentType>]
-
Declaration
Swift
@MainActor public var interactorAssistants: [UserInteractionType : any InteractorAssisting<NavigationControllerDestination>]
-
Declaration
Swift
@MainActor public var childWasRemovedClosure: GroupChildRemovedClosure?
-
Declaration
Swift
@MainActor public var currentDestinationChangedClosure: GroupCurrentDestinationChangedClosure?
-
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: NavigationControllerDestination, rhs: NavigationControllerDestination) -> Bool
-
Declaration
Swift
@MainActor public var description: String { get }