假设我有一个协议
protocol A: class {
func configure(view: UIView)
}
现在,我想遵循这个协议,使用
UILabel
作为UIView
的子类。final class B: A {
init() {}
func configure(view: UILabel) {
}
}
但是错误
Type B不符合协议A的要求
似乎Swift需要与协议中声明的完全相同的类型。这样做可以解决问题。
final class B: A {
init() {}
func configure(view: UIView) {
}
}
但是我想使用 UILabel
,该如何解决?
UIView
,为什么协议的配置方法不能期望一个UILabel
呢? - Jeremy ReaUIView
作为给定方法的参数,但实际上它只处理UILabels
- 这就是为什么此代码无法编译的原因。 - Hamish