MyCustomers/Routers/CustomersRouterApp.swift
import Foundation
import UIKit
import MyCustomersCore
class CustomersRouterApp: UINavigationController, CustomersRouter {
// MARK: Properties
var window: UIWindow?
var listCustomersViewController: ListCustomersViewController?
// MARK: Initializers
convenience init(window: UIWindow?) {
self.init()
self.window = window
}
// MARK: CustomersRouter
func list() {
listCustomersViewController = ListCustomersViewController()
if let listCustomersViewController = listCustomersViewController {
listCustomersViewController.navigationItem.title = "Customers"
let newCustomerButton = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(new))
listCustomersViewController.navigationItem.rightBarButtonItem = newCustomerButton
viewControllers = [listCustomersViewController]
}
if let window = window {
window.rootViewController = self
}
}
func new() {
let newCustomerViewController = NewCustomerViewController()
newCustomerViewController.navigationItem.title = "New customer"
let createCustomerButton = UIBarButtonItem(
barButtonSystemItem: .done, target: newCustomerViewController,
action: #selector(NewCustomerViewController.didTouchAtSaveCustomer))
newCustomerViewController.navigationItem.rightBarButtonItem = createCustomerButton
pushViewController(newCustomerViewController, animated: true)
}
func backToList() {
if let listCustomersViewController = listCustomersViewController {
popToViewController(listCustomersViewController, animated: true)
}
}
}