我正在尝试将访问者设计模式从我的(旧的)Java代码迁移到Swift。到目前为止,我有一个通用的先进先出队列(工作正常)。
protocol FiFo {
associatedtype U
func enqueue(_ : U)
func dequeue() -> U
}
我也想告诉FIFO实例,只接受与FIFO实例相同类型的泛型访问者实例。
protocol Visitor {
associatedtype T
func processValue(_ value : T)
}
protocol FiFo {
associatedtype U
func enqueue(_ : U)
func dequeue() -> U
func visit(_ visitor : Visitor<U>)
}
我遇到了以下问题:
无法对非泛型类型“Visitor”进行特化
有什么提示吗?谢谢!
代码
,而非一般强调。"访问者模式" 或 "先进先出" 不是代码。 - Martin Rwhere
出现的部分对我来说并不是很清楚。 - Thomas