This repository was archived by the owner on Oct 12, 2022. It is now read-only.

Description
In my understanding, the Router should hold Presenter only, not Controller.

But in your VIPER framework, the controller is held by Router.
class LoginRouter: LoginWireframeProtocol {
weak var viewController: UIViewController?
static func createModule() -> UIViewController {
// Change to get view from storyboard if not using progammatic UI
let view = LoginViewController(nibName: nil, bundle: nil)
let interactor = LoginInteractor()
let router = LoginRouter()
let presenter = LoginPresenter(interface: view, interactor: interactor, router: router)
view.presenter = presenter
interactor.presenter = presenter
router.viewController = view
return view
}
}