【发布时间】:2022-01-22 21:01:53
【问题描述】:
我想在其他协议 p3 和类 c1 中定义协议 p1 类型的变量 v1 strong> 符合协议 p3 我想从另一个协议 p2 定义 v1,它是 p1 的子协议>.
在正常情况下我得到了这个错误
类型'c1'不符合协议'p3'
你有什么解决办法吗?
protocol p1 {}
protocol p2: p1 {}
protocol p3 {
var del: p1! { get set }
}
class c1: p3 {
var del: p2!
}
【问题讨论】:
-
首先,这违反了LSP。
-
我使用 VIP 架构,并且我有一个 vipViewController 协议,该协议具有交互变量,这是一种业务逻辑协议。我想在特定业务逻辑协议的每个 viewController 中定义交互器。 @Sweeper
标签: swift protocols associated-types