Swift protocol 结合 where <面向协议编程>
2021-09-08 本文已影响0人
香橙柚子
《转》
//protocol
protocol JJProtocol
{
func getString()
}
// 只给遵守了 JJProtocol 协议的UIView添加了下面的拓展
// 强大的协议拓展 可以给协议添加默认实现 面向协议编程的基础
extension JJProtocol where Self:UIView
{
func getString() -> String{
return "string"
}
}
class MyView:UIView {
}
// MyView遵守了JJProtocol协议,所以给MyView添加拓展
extension MyView: JJProtocol {
}
let myView = MyView()
// 因此这里myView可以调用getString()方法
let aStr = myView.getString()