ControllerDestination
@MainActor
public final class ControllerDestination<UserInteractionType, ControllerDestinationType, PresentationConfigurationType, InteractorType> : ControllerDestinationable where UserInteractionType : UserInteractionTypeable, ControllerDestinationType : ControllerDestinationInterfacing, PresentationConfigurationType : DestinationPresentationConfiguring, InteractorType : InteractorTypeable
extension ControllerDestination: Equatable
extension ControllerDestination: @preconcurrency CustomStringConvertible
A Destination class whose associated user interface is a UIViewController
.
This is a generic Destination that can be used to represent most UIViewController
subclasses 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 let type: DestinationType
-
The
UIViewController
class associated with this Destination.Declaration
Swift
@MainActor public var controller: ControllerType? { 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<ControllerDestination>] { 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: ControllerDestination, rhs: ControllerDestination) -> Bool
-
Declaration
Swift
@MainActor public var description: String { get }