ControllerDestinationProviding
@MainActor
public protocol ControllerDestinationProviding<DestinationType, ContentType, TabType> : DestinationProviding where Self.PresentationType == DestinationPresentationType<Self.DestinationType, Self.ContentType, Self.TabType>
This protocol represents objects which construct and provide ControllerDestinationable objects, including their associated interface elements. Provider objects which conform to this protocol should build discrete Destinations based on their specific destination type.
-
An enum which defines available Destination presentation types. Typically this is
DestinationPresentationType.Declaration
Swift
typealias PresentationType = DestinationPresentationType<DestinationType, ContentType, TabType> -
Builds and returns a new
ControllerDestinationableobject based on the supplied configuration object.Declaration
Swift
@MainActor func buildDestination(destinationPresentations: AppDestinationConfigurations<Destination.UserInteractionType, DestinationType, ContentType, TabType>?, navigationPresentations: AppDestinationConfigurations<SystemNavigationType, DestinationType, ContentType, TabType>?, configuration: DestinationPresentation<DestinationType, ContentType, TabType>, appFlow: some ControllerFlowable<DestinationType, ContentType, TabType>) -> Destination?Parameters
presentationsThe Destination presentations associated with this provider.
systemPresentationsThe system navigation presentations supported by Destinations.
configurationA
DestinationPresentationobject which provides configuration data to construct the Destination.appFlowA reference to the
Flowableobject which should call this method. This is necessary in cases where a Destination type needs to create children Destinations as part of its construction.Return Value
The newly created
ControllerDestinationableobject.
View on GitHub