[英]Swift protocol extension with constraint won't make class to conform that protocol
我现在正在使用Swift学习一些POP(面向协议的编程)。 我创建了带有扩展名的协议:
protocol ActivityIndicable {
func displayActivityIndicator()
func hideActivityIndicator()
}
extension ActivityIndicable where Self: UIViewController {
func dispayActivityIndicator() {
//display
}
func hideActivityIndicator() {
//hide
}
}
现在我有一些视图控制器,可以说MyViewController:
class MyViewController: UIViewController, ActivityIndicable {
}
在编译过程中,我得到警告,说MyViewController
不符合协议ActivityIndicable
。 你能解释为什么吗? 它应该“使用”受UIViewController
限制的扩展,不是吗?
这是一个简单的错字:
func dispayActivityIndicator() {
您将“ l”放在“显示”中。
但是您应该得到一个更具体的警告:
note: protocol requires function 'displayActivityIndicator()' with type '() -> ()'
如果不是,那可能表明您还有其他错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.