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...