-
Notifications
You must be signed in to change notification settings - Fork 0
Patterns
An object responsible for setting the project up:
- Tab bar
- Onboarding
This method setup tab bar controller with 3 modules and set root view controller for the UIWindow
In addition to it, it opens Onboarding module, if user has not onboarded yet.
Assembles "Onboarding" module, if it was called from start method, described above
It also conforms to OnboardingModuleOutput protocol to dismiss "Onboarding" module when it will be the time
extension AppCoordinator: OnboardingModuleOutput {
func onboardingModuleDidFinish() {
tabBarController.presentedViewController?.dismiss(animated: true)
}
}func createNavController(viewController: UIViewController, itemName: String, itemImage: UIImage?) -> UINavigationControllerCreates UINavigationController instance with provided data.
itemName and itemImage properties will be set up as UITabBarItem
Class responsible setting up dependencies of the application.
It has private init with 2 types of services and static methods, initializing itself.
private init(networkManager: NetworkManagerProtocol, coreDataManager: CoreDataManagerProtocol)Method that creates default application DI container.
static func makeDefault() -> AppDIContainerReturns: App DI containter with default services' settings
Core Data Manager. It is responsible for all operations connected with persistance.
let coreDataManager: CoreDataManagerProtocolNetwork Manager. It is responsible for all network requests of this app.
let networkManager: NetworkManagerProtocol