ControllerDestinationable
@MainActor
public protocol ControllerDestinationable<PresentationConfiguration> : Destinationable where Self.PresentationType == DestinationPresentationType<Self.PresentationConfiguration>
This protocol represents a Destination which is associated with a UIViewController
.
-
The type of view controller associated with this Destination.
Declaration
Swift
associatedtype ControllerType : ControllerDestinationInterfacing
-
An enum which defines available Destination presentation types. Typically this is
DestinationPresentationType
.Declaration
Swift
typealias PresentationType = DestinationPresentationType<PresentationConfiguration>
-
The
UIViewController
associated with this Destination.Declaration
Swift
@MainActor var controller: ControllerType? { get set }
-
currentController()
Default implementationReturns the controller this Destination manages.
Default Implementation
Declaration
Swift
@MainActor func currentController() -> ControllerType?
-
assignAssociatedController(controller:
Default implementation) Assigns a
UIViewController
instance to be associated with this Destination.Default Implementation
Declaration
Swift
@MainActor func assignAssociatedController(controller: ControllerType)
Parameters
controller
The
UIViewController
that should be represented by this Destination. -
setupInteractor(interactor:
Extension methodfor: ) Declaration
Swift
@MainActor func setupInteractor<Request, ResultData>(interactor: any Interactable<Request, ResultData>, for type: InteractorType) where Request : InteractorRequestConfiguring, ResultData : Hashable
-
updateInterfaceActions(actions:
Extension method) Declaration
Swift
@MainActor func updateInterfaceActions(actions: [InterfaceAction<UserInteractionType, DestinationType, ContentType>])
-
updateSystemNavigationActions(actions:
Extension method) Declaration
Swift
@MainActor func updateSystemNavigationActions(actions: [InterfaceAction<SystemNavigationType, DestinationType, ContentType>])
-
removeAssociatedInterface()
Extension methodDeclaration
Swift
@MainActor func removeAssociatedInterface()