RAC Reactive Cocoa 常見的類

2021-09-11 14:29:52 字數 1228 閱讀 5049

reactivecocoa常見的類

racsignal:訊號類;racsubscriber是協議

簡介有資料產生時就會使用racsignal類

預設是冷訊號,必須訂閱訊號類

racsignal使用步驟

建立訊號(預設建立的是冷訊號)

didsubscribe呼叫:只要乙個訊號被訂閱就會呼叫

didsubscribe作用:傳送資料

訂閱訊號(變為熱訊號)subscribenext:訂閱

nextblock呼叫:只要訂閱者傳送資料就會呼叫

nextblock作用:處理資料,展示在ui上面

傳送訊號(sendnext:)

只要訂閱者呼叫sendnext就會執行nextblock

只要訂閱racdynamicsignal就會執行didsubscribe

前提條件是racdynamicsignal,不同型別訊號的訂閱,處理訂閱的事情不一樣

racsignal使用步驟:

1.建立訊號 + (racsignal *)createsignal:(racdisposable * (^)(id subscriber))didsubscribe

2.訂閱訊號,才會啟用訊號. - (racdisposable *)subscribenext:(void (^)(id x))nextblock

3.傳送訊號 - (void)sendnext:(id)value

racsignal底層實現:

1.建立訊號,首先把didsubscribe儲存到訊號中,還不會觸發。

2.當訊號被訂閱,也就是呼叫signal的subscribenext:nextblock

2.2 subscribenext內部會建立訂閱者subscriber,並且把nextblock儲存到subscriber中。

2.1 subscribenext內部會呼叫siganl的didsubscribe

3.siganl的didsubscribe中呼叫[subscriber sendnext:@1];

3.1 sendnext底層其實就是執行subscriber的nextblock

// 1.建立訊號

racsignal *siganl = [racsignal createsignal:^racdisposable *(id subscriber) ;

[dict.rac_sequence.signal subscribenext:^(ractuple *x) ] array];

RAC ReactiveCocoa 使用方法 二

rac reactivecocoa 使用方法 一 rac reactivecocoa 使用方法 二 網路請求 貼上核心 具體 見github viewmodel.m created by soliloquy on 2017 11 28.豆瓣電影api define url import viewmo...

mysql常見的優化策略 Mysql常見的優化策略

資料庫設計方面優化 1 資料庫設計符合第三正規化,為了查詢方便可以有一定的資料冗餘。2 選擇資料型別優先順序 int date,time enum,char varchar blob,選擇資料型別時,可以考慮替換,如ip位址可以用ip2long 函式轉換為unsign int型來進行儲存。3 對於c...

oracle常見單詞 Oracle中常見的英語單詞

fatal 重要的,致命的。常見於 root dido1 ps ef grep init.cssd root 2918 1 0 09 59 00 00 00 bin sh etc init.d init.cssd fatal dependencies 附屬的 diagnostic 診斷 常見於 ro...