我要在我以前使用导航器的应用程序中添加协调器。我写了一个基本的协调器协议,看起来像这样。
public protocol Coordinator: class {
/// The array containing any child Coordinators
var childCoordinators: [Coordinator] { get set }
func start()
func show()
}
public extension Coordinator {
/// Add a child coordinator to the parent
public func addChildCoordinator(_ childCoordinator: Coordinator) {
self.childCoordinators.append(childCoordinator)
}
/// Remove a child coordinator from the parent
public func removeChildCoordinator(_ childCoordinator: Coordinator) {
self.childCoordinators = self.childCoordinators.filter { $0 !== childCoordinator }
}
}
现在,我喜欢实现导航器的事情是,通过使用枚举,我可以导航到视图。例如,我可以这样做:
navigator.navigate(to: .preferences)
有没有办法将其合并到我的协调员中?我知道我无法为实现该协议的类可能会更改的协议添加一个枚举。另外,如您所见,我已经在协议中添加了show()
函数。有什么方法可以向该函数添加枚举或类型别名或其他参数吗?
答案 0 :(得分:0)
protocol Coordinator: class {
func show(param: MyEnum)
}
enum MyEnum {
case first
}
天哪,足够了