From 2d0ef616b926c1278beab6a3ee10c3ec4d84198a Mon Sep 17 00:00:00 2001 From: Dan Cutting Date: Fri, 4 Aug 2017 13:14:03 +0100 Subject: [PATCH] Tidy up and inject view factories. --- Apps/Calculator/AppCoordinator.swift | 9 ++++++++- Apps/Calculator/CalculatorCoordinator.swift | 14 ++++++++++---- .../UIKit/Base.lproj/SumViewController.storyboard | 2 +- Apps/Calculator/UIKit/PrimeViewController.swift | 12 ++++++++++++ Apps/Calculator/UIKit/SumViewController.swift | 4 ++++ 5 files changed, 35 insertions(+), 6 deletions(-) diff --git a/Apps/Calculator/AppCoordinator.swift b/Apps/Calculator/AppCoordinator.swift index 181625e..a7b86ee 100644 --- a/Apps/Calculator/AppCoordinator.swift +++ b/Apps/Calculator/AppCoordinator.swift @@ -4,7 +4,14 @@ import UIKit class AppCoordinator { - var calculator = CalculatorCoordinator() + let calculator: CalculatorCoordinator + + init() { + let sumViewFactory = SumViewControllerFactory() + let primeViewFactory = PrimeViewControllerFactory() + + calculator = CalculatorCoordinator(sumViewFactory: sumViewFactory, primeViewFactory: primeViewFactory) + } func start(window: UIWindow) { calculator.start() diff --git a/Apps/Calculator/CalculatorCoordinator.swift b/Apps/Calculator/CalculatorCoordinator.swift index 6c54e50..bbd154d 100644 --- a/Apps/Calculator/CalculatorCoordinator.swift +++ b/Apps/Calculator/CalculatorCoordinator.swift @@ -4,14 +4,20 @@ class CalculatorCoordinator { let sumInteractor = SumInteractor() let sumFormatter = SumFormatter() - let sumViewFactory = SumViewControllerFactory() var sumView: SumView? let primeInteractor = PrimeInteractor() let primeFormatter = PrimeFormatter() - let primeViewFactory = PrimeViewControllerFactory() var primeView: PrimeView? + let sumViewFactory: SumViewFactory + let primeViewFactory: PrimeViewFactory + + init(sumViewFactory: SumViewFactory, primeViewFactory: PrimeViewFactory) { + self.sumViewFactory = sumViewFactory + self.primeViewFactory = primeViewFactory + } + func start() { showSumView() } @@ -57,9 +63,9 @@ extension CalculatorCoordinator: PrimeViewDelegate { view.delegate = self primeView = view - sumView?.present(view: view) - analyseForPrimality(number: number) + + sumView?.present(view: view) } private func analyseForPrimality(number: Int) { diff --git a/Apps/Calculator/UIKit/Base.lproj/SumViewController.storyboard b/Apps/Calculator/UIKit/Base.lproj/SumViewController.storyboard index 4a40865..cf93e9b 100644 --- a/Apps/Calculator/UIKit/Base.lproj/SumViewController.storyboard +++ b/Apps/Calculator/UIKit/Base.lproj/SumViewController.storyboard @@ -45,7 +45,7 @@ -