我想创建一个协议,只有从UIView继承的类才能符合。
有办法吗?
即。
protocol MyProtocol {
fun someMethod()
}
是我的协议
class MyView: UIView, MyProtocol {
func someMethod() { }
}
工作得很好
class MyObject: NSObject {
func someMethod()
}
不会编译。
答案 0 :(得分:2)
两个选项:
创建其他协议UIViewType
,使UIView
符合该协议并将MyProtocol
约束为UIViewType
:
protocol UIViewType {}
extension UIView : UIViewType {}
protocol MyProtocol : UIViewType {}
使用协议扩展名:
protocol MyProtocol {}
extension MyProtocol where Self : UIView {}