Skip to content

Commit

Permalink
Tidy up and inject view factories.
Browse files Browse the repository at this point in the history
  • Loading branch information
Dan Cutting committed Aug 4, 2017
1 parent 728c961 commit 2d0ef61
Show file tree
Hide file tree
Showing 5 changed files with 35 additions and 6 deletions.
9 changes: 8 additions & 1 deletion Apps/Calculator/AppCoordinator.swift
Expand Up @@ -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()
Expand Down
14 changes: 10 additions & 4 deletions Apps/Calculator/CalculatorCoordinator.swift
Expand Up @@ -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()
}
Expand Down Expand Up @@ -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) {
Expand Down
Expand Up @@ -45,7 +45,7 @@
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="six" textAlignment="center" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Vhv-BH-BP0">
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="six" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Vhv-BH-BP0">
<rect key="frame" x="20" y="123" width="335" height="160"/>
<constraints>
<constraint firstAttribute="height" constant="160" id="huW-Rc-Mow"/>
Expand Down
12 changes: 12 additions & 0 deletions Apps/Calculator/UIKit/PrimeViewController.swift
Expand Up @@ -22,9 +22,21 @@ class PrimeViewController: UIViewController, PrimeView {
}
}

override func viewDidLoad() {
super.viewDidLoad()
updateView()
}
}

extension PrimeViewController {

private func updateView() {
guard isViewLoaded else { return }
resultLabel?.text = viewData?.result
}
}

extension PrimeViewController {

@IBAction func didTapOK(_ sender: Any) {
delegate?.didTapOK()
Expand Down
4 changes: 4 additions & 0 deletions Apps/Calculator/UIKit/SumViewController.swift
Expand Up @@ -26,8 +26,12 @@ class SumViewController: UIViewController, SumView {

override func viewDidLoad() {
super.viewDidLoad()
updateView()
delegate?.viewReady()
}
}

extension SumViewController {

private func updateView() {
guard isViewLoaded else { return }
Expand Down

0 comments on commit 2d0ef61

Please sign in to comment.