StepAssembler
@MainActor
public struct StepAssembler<VC, C> where VC : UIViewController
Builds a DestinationStep instance with the correct settings into a chain of steps.
NB
Both Finder and Factory instances should deal with the same type of UIViewController and Context instances.
Usage
let productScreen = StepAssembler<ProductViewController, ProductContext>()
.finder(.classWithContextFinder)
.factory(.storyboardFactory(name: "TabBar", identifier: "ProductViewController"))
.adding(ContextSettingTask())
.using(.push)
.from(.navigationController)
.using(.present)
.from(.current)
.assemble()
*Introduced by Savva Shuliatev *
-
Constructor
Declaration
Swift
@MainActor public init() -
Sets a specific Finder instance
Declaration
Swift
@_disfavoredOverload @MainActor public func finder<F>(_ finder: F) -> StepAssemblerWithFinder<F> where VC == F.ViewController, C == F.Context, F : FinderParameters
finderThe
UIViewControllerFinderinstance.
-
Sets a specific Finder instance
Declaration
Swift
@MainActor func finder(_ finder: ClassFinder<VC, C>) -> StepAssemblerWithFinder<ClassFinder<VC, C>>Parameters
finderThe
UIViewControllerFinderinstance. -
Sets a specific Finder instance
Declaration
Swift
@MainActor func finder(_ finder: InstanceFinder<VC, C>) -> StepAssemblerWithFinder<InstanceFinder<VC, C>>Parameters
finderThe
UIViewControllerFinderinstance. -
Sets a specific Finder instance
Declaration
Swift
@MainActor func finder(_ finder: NilFinder<VC, C>) -> StepAssemblerWithFinder<NilFinder<VC, C>>Parameters
finderThe
UIViewControllerFinderinstance. -
Sets a specific Finder instance
Declaration
Swift
@MainActor func finder<ContentView: View & ContextChecking>(_ finder: UIHostingControllerWithContextFinder<ContentView>) -> StepAssemblerWithFinder<UIHostingControllerWithContextFinder<ContentView>> where UIHostingController<ContentView> == VC, ContentView.Context == CParameters
finderThe
UIViewControllerFinderinstance.
-
Sets a specific Finder instance
Declaration
Swift
@MainActor func finder(_ finder: ClassWithContextFinder<VC, C>) -> StepAssemblerWithFinder<ClassWithContextFinder<VC, C>>Parameters
finderThe
UIViewControllerFinderinstance.