Closed wwdc14yh closed 3 years ago
@wwdc14 Hi
I see your point but technically this is exactly what is SingleContainerStep
for and this is expected. Because you can be not happy with the factory or a finder in NavigationControllerStep
and it is absolutely normal. So SingleContainerStep
step allows you to configure both of them the way you want.
I am very against any inheritance it this case, so I reserved it to be used only within the library.
If you want to be able to write your SingleContainerStep
by calling just one instance in a similar manner like NavigationControllerStep
- just wrap it in to a function like this:
func MyNavigationControllerStep<C>(parameters: Whatever) -> SingleContainerStep<NilFinder<MyNavigationController, C>, MyNavigationControllerFactory<MyNavigationController, C>> {
return SingleContainerStep(finder: NilFinder(), factory: MyNavigationControllerFactory<C>(parameters: parameters))
}
and then use it like NavigationControllerStep
with the same purpose:
StepAssembly(Whatever Factory/Finder)
.using(MyNavigationController.push())
.from(MyNavigationControllerStep(parameters: Whatever))
.using(GeneralAction.presentModally())
.from(GeneralStep.current())
.assemble()
I assume this is what you want
Awesome! thanks
I have a
CustomNavigationController
must be call custom init function, butNavigationControllerStep
does not provide custom initialization. Now i have to Now I have to re-instantiateSingleContainerStep
to use the custom initialization functionOr you can set the access permission of
NavigationControllerStep
to open. I can override it.Do you have any good ideas?