在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
都说Swift与Objective C最大的区别就是面向协议编程, 这个话要这么理解,到底什么场景下需要用到协议呢? 下面举个例子来说说我个人对于这个问题的一些看法
于是我们写代码的时候可以分别定义3个不同的继承自UIView的子类,如下所示 问题来了:突然有一个需求,要有一个既带遮罩又带关闭按钮的弹框, 那要怎么实现呢. 我们都知道Swift是不支持多继承的,所以我们无法定一个既继承 AlertViewWithCloseButton 又继承AlertViewWithMask 的子类. 你也许会想, 我只定义一个AlertView包含所有的功能就不会有这样的问题了啊,像下面这样的
但是面向协议就可以完美解决上面提到的3个问题 对于第一个问题,可以这样写
对于第二个问题
对于第三个问题, 只需要对原有的 UIViewWithButton 做一个扩展就可以了
|
请发表评论