我正在尝试了解协调器模式的工作原理。
这是我的代码
import UIKit
import Foundation
class CheckoutCoordinator: Coordinator, ScheduleDelegate {
var childCoordinator: [Coordinator] = [Coordinator]()
var navigationController: UINavigationController
init(nav: UINavigationController) {
self.navigationController = nav
}
func start() {
let ctrl = CheckoutController.initFromStoryboard()
ctrl.coordinator = self
self.navigationController.pushViewController(ctrl, animated: true)
}
func openSchedule() {
let ctrl = ScheduleController.initFromStoryboard()
ctrl.delegate = self
self.navigationController.pushViewController(ScheduleController.initFromStoryboard(), animated: true)
}
func didSelectTimings(date: NSDate, timings: NSString, distance: Double) {
}
}
从CheckoutController
,我去ScheduleController
,做一些调用它的委托方法的工作。委托应该更新 CheckoutController 和 pop scheduleController 中的一些值。我无法找到上述 senario 的任何具体解释以及如何“正确”实施它。
请注意,调度控制器没有向前导航,因此没有协调器类。
任何指导将不胜感激