LoginSceneDIContainer

final class LoginSceneDIContainer : LoginFlowCoordinatorDependencies

Login 화면에 대한 의존성 주입을 관리하는 Container입니다.

  • ViewController를 생성하는 메서드입니다.

    • 해당 메서드는 LoginFlowCoordinator class의 start 메서드 내부에서 실행됩니다.
    • LoginFlowCoordinatorDependencies protocol의 메서드이면서 이는 화면 flow만을 담당하는 flowCoordinator가 flow와 관련없는 메서드를 사용하지 못하도록, Delegate Pattern을 사용했습니다.

    Declaration

    Swift

    func makeLoginViewController(actions: LoginViewModelActions) -> LoginViewController

    Parameters

    actions

    FlowCoordinator에서 실행할 actions를 파라미터로 받습니다. 해당 action들은 login flow coordinator에서 화면전환 action입니다.

    Return Value

    loginViewController를 생성하며, Return 합니다.

  • ViewModel를 생성하는 메서드입니다.

    • 해당 메서드는 makeLoginViewController에서 실행됩니다.

    Declaration

    Swift

    private func makeLoginViewModel(actions: LoginViewModelActions) -> LoginViewModel

    Parameters

    actions

    FlowCoordinator에서 실행할 actions를 파라미터로 받습니다. 해당 action들은 login flow coordinator에서 화면전환 action입니다.

    Return Value

    ViewModel를 생성하며, Return 합니다.

  • FloowCoordinator를 생성합니다.

    Declaration

    Swift

    func makeLoginFlowCoordinator(navigationController: UINavigationController) -> LoginFlowCoordinator

    Parameters

    navigationController

    AppFlowCoordinator에서 생성한, 최초 NavigationController를 파라미터로 받습니다.

    Return Value

    LoginFlowCoordinator를 생성하며, Return 합니다.