我正在尝试将我的设计转换为pop
. 但是,我被卡住了,并且我的方法已经有了一堆线程-尽管不是这个问题的重复-显然它们都是死胡同。
我的问题是,有没有办法覆盖从另一个协议继承的协议方法的参数类型?
struct Books: Codable {}
protocol Listener {
func listen(_ param: Codable)
}
protocol BooksListener: Listener {
func listen(_ param: Books)
}
class MyClass: BooksListener {
// I want only this one to required with the type.
func listen(_ param: Books) {
<#code#>
}
func listen(_ param: Codable) {
<#code#>
}
}
我做了我的研究,我相信这不是协议的工作方式。我只是在寻找解决方案。
我尝试添加 aassociatedType
并将Listener
其用作里面的类型listen(_:)
。但是这个解决方案限制任何类必须符合多个从Listener
. 详细信息可以在这里找到