FlowCoordinator.md
December 26, 2022 ยท View on GitHub
Upgrade routing
- Create
MainFlowCoordinator.swiftfile insideexmplfolder inexmplproject - Add implementation
import UIKit
final class MainFlowCoordinator {
private weak var window: UIWindow!
private weak var rootViewController: UIViewController!
init(window: UIWindow) {
self.window = window
}
func start() {
let mainViewController = MainModuleBuilder().build()
window.rootViewController = mainViewController
self.rootViewController = mainViewController
}
}
- Open
SceneDelegate.swift - Add property
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
// ...
private var flowCoordinator: MainFlowCoordinator!
- Update scene function
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let windowScene = (scene as? UIWindowScene) else { return }
let window = UIWindow(windowScene: windowScene)
self.window = window
window.makeKeyAndVisible()
flowCoordinator = MainFlowCoordinator(window: window)
flowCoordinator.start()
}