// // TablePresenterWireframe.swift // GME Remit // // Created by InKwon Devik Kim on 26/06/2019. //Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved. // import UIKit enum TablePresenterType { case branches(countryCode: String, bankID: String) case `default` } class TablePresenterWireframe { weak var view: UIViewController! private weak var delegate: TablePresenterDelegate? private var model: [TablePresenterProtocol]? private var type: TablePresenterType = .default } extension TablePresenterWireframe: TablePresenterWireframeInput { var storyboardName: String {return "TablePresenter"} func getMainView() -> UIViewController { let service = TablePresenterService() let interactor = TablePresenterInteractor(service: service, model: model) let presenter = TablePresenterPresenter() let viewController = viewControllerFromStoryboard(of: TablePresenterViewController.self) viewController.presenter = presenter viewController.delegate = delegate viewController.type = type interactor.output = presenter presenter.interactor = interactor presenter.wireframe = self presenter.view = viewController view = viewController return viewController } func openWith( tag: Int = 0, type: TablePresenterType = .default, delegate: TablePresenterDelegate?, model: [TablePresenterProtocol]?, source: UIViewController ) { self.delegate = delegate self.model = model self.type = type let vc = getMainView() vc.view.tag = tag source.present(vc, animated: true, completion: nil) } }