NavigatingControllerDestinationable
@MainActor
public protocol NavigatingControllerDestinationable<DestinationType, ContentType, TabType> : GroupedControllerDestinationable where Self.ControllerType : NavigationControllerDestinationInterfacing
This protocol represents a Destination whose interface is a UINavigationController.
-
navigator()Default implementationReturns the navigator which manages the state of the
UINavigationControllerstack.Default Implementation
Declaration
Swift
@MainActor func navigator() -> (any DestinationPathNavigating)? -
navigateBackInStack(presentationID:Default implementation) Removes the current Destination and navigates to the previous Destination in the
UINavigationControllerstack, if one exists.Default Implementation
Declaration
Swift
@MainActor func navigateBackInStack(presentationID: UUID?)Parameters
previousPresentationIDAn optional unique identifier of the previous Destination.
-
findDestination(typeToFind:Default implementationcurrentLevel: ) Finds a Destination of the specified type within the
UINavigationControllerstack.Default Implementation
Declaration
Swift
@MainActor func findDestination(typeToFind: DestinationType, currentLevel: any ControllerDestinationable<DestinationType, ContentType, TabType>) -> (any ControllerDestinationable<DestinationType, ContentType, TabType>)?Parameters
typeToFindThe type of Destination to find.
currentLevelThe current level of the view hierarchy to search at.
Return Value
A Destination of the specified type, if one was found.
-
supportsIgnoringCurrentDestinationStatusExtension methodDetermines whether this Destination supports the
shouldSetDestinationAsCurrentparameter of theaddChildmethod. If this Destination should ignore requests to not make added children the current Destination, this property should be set tofalse. ForNavigatingControllerDestinationable-conforming classes, the default isfalse.Declaration
Swift
@MainActor var supportsIgnoringCurrentDestinationStatus: Bool { get }Return Value
Returns whether the current Destination status should be ignored.
-
Declaration
Swift
@MainActor func addChild(childDestination: any Destinationable<DestinationType, ContentType, TabType>, shouldSetDestinationAsCurrent: Bool? = true, shouldAnimate: Bool? = true) -
removeDestinations(destinations:Extension method) Undocumented
Declaration
Swift
@MainActor func removeDestinations(destinations: [any ControllerDestinationable<DestinationType, ContentType, TabType>]) -
replaceChild(currentID:Extension methodwith: removeDestinationFromFlowClosure: ) Declaration
Swift
@MainActor func replaceChild(currentID: UUID, with newDestination: any Destinationable<DestinationType, ContentType, TabType>, removeDestinationFromFlowClosure: RemoveDestinationFromFlowClosure? = nil) -
removeAllChildren()Extension methodDeclaration
Swift
@MainActor func removeAllChildren() -
removeChild(identifier:Extension methodremoveDestinationFromFlowClosure: ) Declaration
Swift
@MainActor func removeChild(identifier: UUID, removeDestinationFromFlowClosure: RemoveDestinationFromFlowClosure?) -
prepareForPresentation()Extension methodDeclaration
Swift
@MainActor func prepareForPresentation()
View on GitHub