ReactiveCocoa_Use
ReactiveCocoa_Use copied to clipboard
RACCommand_Demo2的疑问
对于 RACCommand 执行的信号的订阅,网上的很多都说推荐使用flatten方法,虽然switchToLatest也是一样的效果,但是感觉flatten才更专业点,不知博主怎么看?
flattens是一种降阶的操作。比如信号A (a1, a2,a3..)在执行中,信号B执行了 b1,b2。 我们暂且当成两个线程理解,以时间为参考,假如结果是 a1 ,b1,a2,a3,b2 , flatten后的结果就是这么一条线。
switchToLatest是执行最新的信号,信号A中a1,a2执行,在a1结束后,信号b1在a2开始执行前执行,在b1执行期间a2执行,然后b1结束。switchToLatest操作后,结果就是a1, b1 ,把a2过滤了。
@huangxianhui001 二者虽然都是降阶操作,但是方式是不同的。flattens直接粗暴,一条线执行。switchToLatest内部还要考虑信号的开始和执行问题。
@WiKi123 可以考虑加个 demo 演示一下两者的区别
@huangxianhui001 你可以选中列表中那个方法,点击右上角图片按钮。那样看起来比较清晰。里面是图文解释的。
很不巧,RACCommand的几个例子都没有图片
最下面关于flattens和switchToLatest是有图片的。
赞,看到了