iOS 開發之 ReactiveCocoa(基礎)

發表於2016-06-16

前言

前段時間在看Masonry這個全新的第三方的佈局框架的時候,開始瞭解了鏈式程式設計.後來慢慢的又開始瞭解函數語言程式設計和響應式程式設計.在這集中的程式設計思想下,開始接觸和研究了ReactiveCocoa這個框架.在很多大神的blog中,都對這個框架有著高度的評價,各種秀自己如何靈活的使用ReactiveCocoa.今天主要就是這個框架的一些自己的學習筆記.

1.ReactiveCocoa簡介

ReactiveCocoa(簡稱為RAC),是由Github開源的一個應用於iOS和OS開發的新框架.

ReactiveCocoa結合了幾種程式設計風格:

  • 函數語言程式設計(Functional Programming):使用高階函式,例如函式用其他函式作為引數。
  • 響應式程式設計(Reactive Programming):關注於資料流和變化傳播。

ReactiveCocoa就被開發者們描述為響應式函式程式設計框架(FRP);使用RAC就不需要考慮呼叫的順序,直接考慮結果,使得程式碼高聚合,方便管理.

2.ReactiveCocoa使用

2.1 RACSiganl(RAC的核心類):訊號類 用來資料傳遞

注意點:

  • 該訊號預設是一個冷訊號,當值改變了,也並不會觸發改訊號,只有訂閱了該訊號,才會觸發改訊號.
  • 訂閱訊號的方法: subscribeNext:

2.2 替換Target和Action

  • TextField的字元變化

  • UIButton的事件的監聽

  • 手勢事件

RAC的通知不需要移除,RAC會自己處理改通知的移除

  • 定時器

  • KVO
    監聽UIScrollView的contentOffset

相關文章