ReactiveCocoa – RACSequence介紹
http://www.vincenttsai.com/reactivecocoa-racsequence/
|
-
instancetype
filter
BOOL
^
id
value
block
;
//過濾掉不要的值
map
//將值進行轉換
|
這是利用RACSequence的寫法
初次看起來括號會很怪,filter方法回傳為instancetype,也就是如果Receiver是RACSequence物件呼叫filter,就會回傳RACSequence物件(如果是RACSignal呼叫filter,也一樣是回傳一個RACSignal),這個回傳的RACSequence中就只剩兩個值,一個是2另一個是4,再針對這個Sequence呼叫map進行值的轉換,就可以取得最後的結果。這種利用functional programming的程式是否比較直覺我想見人見智,一開始我也不太習慣,但後來從程式閱讀的角度出發其實反而比較容易理解,在程式開發的過程中也會比較容易專心在開發程式的羅輯中。其餘的還有一些function,例如flattern及Concatenating,可以參考ReactiveCocoa Document。
下次會主要分享RACSignal,這個才是最常用到的功能。如果你對ReactiveCocoa也有興趣,歡迎在下方留言一起交流。