ReactiveCocoa – RACSequence介紹
来源:互联网 发布:ubuntu mongodb 3.2 编辑:程序博客网 时间:2024/06/07 20:44
http://www.vincenttsai.com/reactivecocoa-racsequence/
ReactiveCocoa – RACSequence介紹
RactiveCocoa中很重要的兩個class,一個是RACSignal,一個是RACSequence,而這兩個class的super class就是RACStream。 RACSequence很類似Objective-C中的NSDictionary或者NSArray,你可以利用一些方法來達到將NSDictionary或者NSArray中的值進行一些過濾及轉換。
以一個簡單的例子,我們欲將一個陣列,其內容有1-5,我們只要取出偶數的元素,而且要將值進行平方的動作。這是一般的寫法
我們會利用RACStream中定義的其中兩個方法
這是利用RACSequence的寫法
初次看起來括號會很怪,filter方法回傳為instancetype,也就是如果Receiver是RACSequence物件呼叫filter,就會回傳RACSequence物件(如果是RACSignal呼叫filter,也一樣是回傳一個RACSignal),這個回傳的RACSequence中就只剩兩個值,一個是2另一個是4,再針對這個Sequence呼叫map進行值的轉換,就可以取得最後的結果。這種利用functional programming的程式是否比較直覺我想見人見智,一開始我也不太習慣,但後來從程式閱讀的角度出發其實反而比較容易理解,在程式開發的過程中也會比較容易專心在開發程式的羅輯中。其餘的還有一些function,例如flattern及Concatenating,可以參考ReactiveCocoa Document。
下次會主要分享RACSignal,這個才是最常用到的功能。如果你對ReactiveCocoa也有興趣,歡迎在下方留言一起交流。
- ReactiveCocoa – RACSequence介紹
- RACSequence
- ReactiveCocoa 中 集合类RACSequence 和 RACTuple底层实现分析
- ReactiveCocoa
- ReactiveCocoa
- ReactiveCocoa
- ReactiveCocoa
- ReactiveCocoa
- ReactiveCocoa
- ReactiveCocoa
- ReactiveCocoa
- ReactiveCocoa
- ReactiveCocoa
- ReactiveCocoa
- ReactiveCocoa
- ReactiveCocoa
- ReactiveCocoa
- ReactiveCocoa
- iOS开发之传感器
- iOS笔记之手势
- 正则表达式(一):纠结的转义
- eclipse编译很慢,可能是js验证浪费时间
- 智能搜索下拉文本框
- ReactiveCocoa – RACSequence介紹
- javax.persistence常用注解配置
- android4.0 USB Camera实例(五)jpg压缩
- 编译安装mmseg提示cannot find input file: src/Makefile.in错误
- javascript中object与{}的区别
- type="button"和type="submit"的区别
- Android XUtils使用详解
- android4.0 USB Camera实例(五补充)jpg压缩
- 使用迅雷下载百度云的文件(2015年11月11日更新)