成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iOS ReactiveCocoa 最全常用API整理(可做為手冊查詢)

開發
本文適合有一定RAC基礎的童鞋做不時的查詢,所以本文不做詳細解釋。

本文適合有一定RAC基礎的童鞋做不時的查詢,所以本文不做詳細解釋。

一、常見類

1、RACSiganl 信號類。

RACEmptySignal :空信號,用來實現 RACSignal 的 +empty 方法;

RACReturnSignal :一元信號,用來實現 RACSignal 的 +return: 方法;

RACDynamicSignal :動態信號,使用一個 block - 來實現訂閱行為,我們在使用 RACSignal 的 +createSignal: 方法時創建的就是該類的實例;

RACErrorSignal :錯誤信號,用來實現 RACSignal 的 +error: 方法;

RACChannelTerminal :通道終端,代表 RACChannel 的一個終端,用來實現雙向綁定。

2、RACSubscriber 訂閱者

3、RACDisposable 用于取消訂閱或者清理資源,當信號發送完成或者發送錯誤的時候,就會自動觸發它。

RACSerialDisposable :作為 disposable 的容器使用,可以包含一個 disposable 對象,并且允許將這個 disposable 對象通過原子操作交換出來;

RACKVOTrampoline :代表一次 KVO 觀察,并且可以用來停止觀察;

RACCompoundDisposable :它可以包含多個 disposable 對象,并且支持手動添加和移除 disposable 對象

RACScopedDisposable :當它被 dealloc 的時候調用本身的 -dispose 方法。

4、RACSubject 信號提供者,自己可以充當信號,又能發送信號。

RACGroupedSignal :分組信號,用來實現 RACSignal 的分組功能;

RACBehaviorSubject :重演***值的信號,當被訂閱時,會向訂閱者發送它***接收到的值;

RACReplaySubject :重演信號,保存發送過的值,當被訂閱時,會向訂閱者重新發送這些值。

5、RACTuple 元組類,類似NSArray,用來包裝值.

6、RACSequence RAC中的集合類

7、RACCommand RAC中用于處理事件的類,可以把事件如何處理,事件中的數據如何傳遞,包裝到這個類中,他可以很方便的監控事件的執行過程。

8、RACMulticastConnection 用于當一個信號,被多次訂閱時,為了保證創建信號時,避免多次調用創建信號中的block,造成副作用,可以使用這個類處理。

9、RACScheduler RAC中的隊列,用GCD封裝的。

RACImmediateScheduler :立即執行調度的任務,這是唯一一個支持同步執行的調度器;

RACQueueScheduler :一個抽象的隊列調度器,在一個 GCD 串行列隊中異步調度所有任務;

RACTargetQueueScheduler :繼承自 RACQueueScheduler ,在一個以一個任意的 GCD 隊列為 target 的串行隊列中異步調度所有任務;

RACSubscriptionScheduler :一個只用來調度訂閱的調度器。

二、常見用法

rac_signalForSelector : 代替代理

rac_valuesAndChangesForKeyPath: KVO

rac_signalForControlEvents:監聽事件

rac_addObserverForName 代替通知

rac_textSignal:監聽文本框文字改變

rac_liftSelector:withSignalsFromArray:Signals:當傳入的Signals(信號數組),每一個signal都至少sendNext過一次,就會去觸發***個selector參數的方法。

三、常見宏

RAC(TARGET, [KEYPATH, [NIL_VALUE]]):用于給某個對象的某個屬性綁定

RACObserve(self, name) :監聽某個對象的某個屬性,返回的是信號。

@weakify(Obj)和@strongify(Obj)

RACTuplePack :把數據包裝成RACTuple(元組類)

RACTupleUnpack:把RACTuple(元組類)解包成對應的數據

RACChannelTo 用于雙向綁定的一個終端

四、常用操作方法

flattenMap map 用于把源信號內容映射成新的內容。

concat 組合 按一定順序拼接信號,當多個信號發出的時候,有順序的接收信號

then 用于連接兩個信號,當***個信號完成,才會連接then返回的信號。

merge 把多個信號合并為一個信號,任何一個信號有新值的時候就會調用

zipWith 把兩個信號壓縮成一個信號,只有當兩個信號同時發出信號內容時,并且把兩個信號的內容合并成一個元組,才會觸發壓縮流的next事件。

combineLatest:將多個信號合并起來,并且拿到各個信號的***的值,必須每個合并的signal至少都有過一次sendNext,才會觸發合并的信號。

reduce聚合:用于信號發出的內容是元組,把信號發出元組的值聚合成一個值

filter:過濾信號,使用它可以獲取滿足條件的信號.

ignore:忽略完某些值的信號.

distinctUntilChanged:當上一次的值和當前的值有明顯的變化就會發出信號,否則會被忽略掉。

take:從開始一共取N次的信號

takeLast:取***N次的信號,前提條件,訂閱者必須調用完成,因為只有完成,就知道總共有多少信號.

takeUntil:(RACSignal *):獲取信號直到某個信號執行完成

skip:(NSUInteger):跳過幾個信號,不接受。

switchToLatest:用于signalOfSignals(信號的信號),有時候信號也會發出信號,會在signalOfSignals中,獲取signalOfSignals發送的***信號。

doNext: 執行Next之前,會先執行這個Block

doCompleted: 執行sendCompleted之前,會先執行這個Block

timeout:超時,可以讓一個信號在一定的時間后,自動報錯。

interval 定時:每隔一段時間發出信號

delay 延遲發送next。

retry重試 :只要失敗,就會重新執行創建信號中的block,直到成功.

replay重放:當一個信號被多次訂閱,反復播放內容

throttle節流:當某個信號發送比較頻繁時,可以使用節流,在某一段時間不發送信號內容,過了一段時間獲取信號的***內容發出。

五、UI - Category(常用匯總)

1、rac_prepareForReuseSignal: 需要復用時用

相關UI: MKAnnotationView、UICollectionReusableView、UITableViewCell、UITableViewHeaderFooterView

2、rac_buttonClickedSignal:點擊事件觸發信號

相關UI:UIActionSheet、UIAlertView

3 、rac_command:button類、刷新類相關命令替換

相關UI:UIBarButtonItem、UIButton、UIRefreshControl

4、rac_signalForControlEvents: control event 觸發

相關UI:UIControl

5、rac_gestureSignal UIGestureRecognizer 事件處理信號

相關UI:UIGestureRecognizer

6、rac_imageSelectedSignal 選擇圖片的信號

相關UI:UIImagePickerController

7、rac_textSignal

相關UI:UITextField、UITextView

8、可實現雙向綁定的相關API

rac_channelForControlEvents: key: nilValue:

相關UI:UIControl類

rac_newDateChannelWithNilValue:

相關UI:UIDatePicker

rac_newSelectedSegmentIndexChannelWithNilValue:

相關UI:UISegmentedControl

rac_newValueChannelWithNilValue:

相關UI:UISlider、UIStepper

rac_newOnChannel

相關UI:UISwitch

rac_newTextChannel

相關UI:UITextField

六、Foundation - Category (常用匯總)

1、NSArray

rac_sequence 信號集合

2、NSData

rac_readContentsOfURL: options: scheduler: 比oc多出線程設置

3、NSDictionary

rac_sequence 不解釋

rac_keySequence key 集合

rac_valueSequence value 集合

4、NSEnumerator

rac_sequence 不解釋

5、NSFileHandle

rac_readInBackground 見名知意

6、NSIndexSet

rac_sequence 不解釋

7、NSInvocation

rac_setArgument: atIndex: 設置參數

rac_argumentAtIndex 取某個參數

rac_returnValue 所關聯方法的返回值

8、NSNotificationCenter

rac_addObserverForName: object:注冊通知

9、NSObject

rac_willDeallocSignal 對象銷毀時發動的信號

rac_description debug用

rac_observeKeyPath: options: observer: block:監聽某個事件

rac_liftSelector: withSignals: 全部信號都next在執行

rac_signalForSelector: 代替某個方法

rac_signalForSelector:(SEL)selector fromProtocol:代替代理

10、NSOrderedSet

rac_sequence 不解釋

11、NSSet

rac_sequence 不解釋

12、NSString

rac_keyPathComponents 獲取一個路徑所有的部分

rac_keyPathByDeletingLastKeyPathComponent 刪除路徑***一部分

rac_keyPathByDeletingFirstKeyPathComponent 刪除路徑***部分

rac_sequence 不解釋 (character)

rac_readContentsOfURL: usedEncoding: scheduler: 比之OC多線程調用

13、NSURLConnection

rac_sendAsynchronousRequest 發起異步請求

14、NSUserDefaults

rac_channelTerminalForKey 用于雙向綁定,此乃一

責任編輯:陳琳 來源: CocoaChina
相關推薦

2015-01-12 09:40:41

iOS學習資料整理

2015-01-12 12:12:00

iOS學習資料整理

2018-01-12 16:46:23

LinuxUbuntu快捷鍵

2011-08-11 15:02:28

iOS目錄

2016-03-30 09:34:27

2011-04-02 14:52:52

2011-04-02 14:49:27

2010-12-31 09:23:44

FreeBSD

2024-04-24 09:03:39

VueNuxt開發

2023-02-24 07:40:11

2023-02-26 23:41:37

2022-04-13 18:40:59

Python開發

2023-06-26 18:13:56

開源API

2010-06-17 10:29:13

Linux命令

2010-03-29 10:16:39

CentOS常用命令

2020-12-04 10:40:32

Oracle運維命令

2020-12-28 09:41:40

MySQL數據庫函數

2015-07-02 09:56:48

ReactiveCociOS

2009-10-30 09:06:49

Internet接入方

2018-05-29 15:53:01

LinuxGit常用命令
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲黄色国产 | 91久色| 国产精品久久久久久久久免费 | 国产一级淫片免费视频 | 在线成人 | 久久精品国产一区二区电影 | 成人福利在线 | 天天躁日日躁狠狠很躁 | 日韩精品一区二区在线 | 日本黄色不卡视频 | 久久狠狠| 亚洲精品视频网站在线观看 | 国产精品久久久久久久久久99 | 久久久亚洲精品视频 | 日韩成人 | 欧洲妇女成人淫片aaa视频 | 成人一区二区在线 | 日韩在线xx | 久草网址 | 国产精品免费在线 | 欧美成人自拍视频 | 精品在线视频播放 | 国产精品久久久久久久久久 | 美女爽到呻吟久久久久 | 成人免费视频网址 | 欧美日韩a | 亚洲一区中文 | 成人高清视频在线观看 | 国产乱码精品一区二区三区忘忧草 | 欧美片网站免费 | 一区二区在线不卡 | 九九精品网 | 久久综合伊人 | 射欧美| wwww.xxxx免费| 伊人影院99 | 色狠狠桃花综合 | 日日躁狠狠躁aaaaxxxx | 成人av高清在线观看 | 国产成人久久精品一区二区三区 | 欧美理论 |