美文网首页
ReactiveCocoa基本使用

ReactiveCocoa基本使用

作者: aven_kang | 来源:发表于2022-01-07 16:31 被阅读0次
    ·RACSignal使用基础
    ·RACSignal各类操作

    RACSignal的基础使用

    截屏2021-12-11 下午4.21.39.png
    截屏2021-12-11 下午4.23.13.png

    订阅一个信号的方式

    截屏2021-12-11 下午4.26.58.png

    订阅过程

    截屏2021-12-11 下午4.26.58.png

    元组-----RACTuple

    ·RAC定义的一种数据类型
    ·NSArray的简化版
    ·其他语言中的意义
    ·使用

    信号示例

    截屏2021-12-11 下午5.11.14.png
    截屏2021-12-11 下午5.13.52.png
    截屏2021-12-11 下午5.14.34.png
    截屏2021-12-11 下午5.18.19.png
    截屏2021-12-11 下午5.18.49.png

    RACSignal各类操作

    ·单个信号的变化
    ·多个信号的组合
    ·高阶操作
    -单个信号的变换
    截屏2021-12-11 下午5.21.14.png
    -值操作----Map
    截屏2021-12-11 下午5.22.56.png
    -值操作----MapReplace
    截屏2021-12-11 下午5.24.57.png
    -值操作----ReduceEach
    截屏2021-12-11 下午5.26.35.png
    -值操作----其他
    截屏2021-12-11 下午5.27.24.png
    -数量操作--Filter
    截屏2021-12-11 下午5.32.12.png
    -数量操作--Ignore
    截屏2021-12-11 下午5.33.53.png
    -数量操作--Take
    截屏2021-12-11 下午6.01.29.png
    -数量操作--Skip
    截屏2021-12-11 下午6.02.45.png
    -数量操作--Take&Skip
    截屏2021-12-11 下午6.04.17.png
    -一些混合操作
    截屏2021-12-11 下午6.05.30.png
    ·数量操作--StartWith
    截屏2021-12-11 下午6.07.37.png
    ·数量操作--Repeat
    截屏2021-12-11 下午6.09.15.png
    ·数量操作---Retry
    截屏2021-12-11 下午6.11.05.png
    RACSignal *signalB = [signalA retry]
    

    这里如果不接次数的话,将会无限循环,即使错误了,也会无限尝试,跟上面的Repeat有点像

    -其他操作
    截屏2021-12-11 下午6.20.29.png
    -数量操作----Aggregate
    截屏2021-12-11 下午7.46.46.png
    -数量操作----Scan
    截屏2021-12-11 下午7.49.42.png
    ·Aggregate&Scan变种
    截屏2021-12-11 下午7.51.02.png

    时间操作----有用的信号

    截屏2021-12-11 下午7.55.49.png
    ·时间操作-----Delay
    截屏2021-12-11 下午7.59.04.png
    ·时间操作----THrottle
    截屏2021-12-11 下午8.01.57.png

    多个信号的组合

    ·受哪个信号终止而终止
    ·错误传递
    ·各个信号何时开始订阅
    --组合操作----Concat
    截屏2021-12-11 下午8.05.24.png

    需要注意,信号1必须要有终止

    --组合操作发生错误时
    截屏2021-12-11 下午8.07.25.png

    如果信号一发生了错误,信号二没错误,那么得到的信号三,也是错误的


    截屏2021-12-11 下午8.07.49.png

    如果信号1没问题,信号2出错了,那么信号3得到的也是一个错误

    ·组合操作----Merge
    截屏2021-12-11 下午8.10.06.png
    Merge综合应用
    截屏2021-12-11 下午8.15.46.png
    ·组合操作----Zip
    截屏2021-12-11 下午8.17.41.png

    SignalA和SignalB这两个信号经过Zip之后呢,什么时候才结束,可以看到SignalB执行到8之后呢,后面已经没有值了,所以结束了,生成了SignalC

    ·组合操作----CombineLatest
    截屏2021-12-11 下午8.23.33.png

    这个不依赖于谁先结束,而是看谁是更大的。

    ·组合操作----Sample
    截屏2021-12-11 下午8.26.22.png
    ·组合操作----TakeUntilReplacement
    截屏2021-12-11 下午8.30.12.png

    相关文章

      网友评论

          本文标题:ReactiveCocoa基本使用

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