Swift protocol 结合 where <面向协议编程>

//protocol
protocol WRProtocol
{
    func getString()
}

// 只给遵守了 WRProtocol 协议的UIView添加了下面的拓展
// 强大的协议拓展  可以给协议添加默认实现   面向协议编程的基础
extension WRProtocol where Self:UIView 
{
    func getString() -> String{
        return "string"
    }
}

class MyView:UIView { 
}

// MyView遵守了WRProtocol协议,所以给MyView添加拓展
extension MyView: WRProtocol {
}

let myView = MyView()
// 因此这里myView可以调用getString()方法
let aStr = myView.getString()


强烈推荐:超简单!!! iOS设置状态栏、导航栏按钮、标题、颜色、透明度,偏移等

https://github.com/wangrui460/WRNavigationBar
https://github.com/wangrui460/WRNavigationBar_swift



欢迎关注我的微博:wangrui460

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容