美文网首页ReactiveSwift源码解析
自定义类添加reactive扩展属性

自定义类添加reactive扩展属性

作者: linx214 | 来源:发表于2018-08-28 15:09 被阅读24次

    1、给已有类添加扩展属性的代码技巧

    普通扩展方式:


    image.png
    image.png

    使用方式,let a = sample.age2

    弊端,扩展的属性和原有属性在同一调用层级,不方便管理

    使用结构体封装一层的方式:


    image.png image.png

    使用方式,let a = sample.reactive.age

    这样的弊端是,所有遵循了aExtension协议的类,都会有一样的扩展属性

    RAS使用的扩展方式:


    image.png
    image.png

    使用方式,let a = sample.reactive.age

    给扩展结构体增加了泛型,这样在对aReactive进行扩展的时候,可以指定泛型的约束范围,达到只针对某一类型进行扩展

    上述三种实现扩展的方式依次递进,最后一种方式为最优

    相关文章

      网友评论

        本文标题:自定义类添加reactive扩展属性

        本文链接:https://www.haomeiwen.com/subject/ntxqwftx.html