如何扩展实现协议的类?
类似的东西:
protocol proto {
func hey()
}
和符合proto
的类:
Class MyClass: UIViewController, proto {
func hey() {
print("Hey!")
}
}
然后是该类的扩展,如下所示:
extension UIViewController where Self:proto {
func test() {
print("I'm extended!")
}
}
这样我就可以在self.test()
中致电MyClass
。
感谢。
答案 0 :(得分:3)
您可以只扩展协议,而不是类型。请尝试以下方法:
protocol proto {
func hey()
}
class MyClass: UIViewController, proto {
func hey() {
print("Hey!")
}
func test2() {
self.test()
}
}
extension proto where Self: UIViewController {
func test() {
print("I'm extended!")
}
}