Do you know any good solution for SceneCoordinator with large number of view controllers? @fpillet
The best solution IMHO is to divide your application in areas, use an enum for each, then a master enum that points to the appropriate area:
enum Scene {
case main(MainScene)
case settings(SettingsScene)
}
enum MainScene {
case home
case items
case search
fileprivate func viewController() -> UIViewController {
switch self {
// return the appropriate VC here
}
}
}
enum SettingsScene {
case userSettings
case regionSettings
case appSettings
fileprivate func viewController() -> UIViewController {
switch self {
// return the appropriate VC here
}
}
}
extension Scene {
func viewControler() -> UIViewController {
switch self {
case .main(let mainScene):
return mainScene.viewController()
case .settings(let settingsScene):
return settingsScene.viewController()
}
}
}
1 Like
Youβre the boss! thank you