這裡寫rac常見的應用場景
1. rac集合
2. 代替kvo
1. 監聽事件
3. 代替通知
4. 監聽文字框
5.**
ractuple是rac定義的集合,跟陣列類似,
ractuple *tuple = [ractuple
tuplewithobjectsfromarray:@[@"aaaa",@"bb",@123,@23434]];
nsstring *str = tuple[0];
nslog(@"%@",str);
racsequence 用於代替nsarray,nsdictionary 可以使用快速遍歷資料解析 最常見的應用場景:字典轉模型
//陣列
nsarray *arr = @[@"abc",@"bbb",@123];
//rac集合 將陣列中的元素作為傳送訊號的內容
[arr.rac_sequence
.signal subscribenext:^(id _nullable x) ];
//字典
nsdictionary *dict = @;
//字典轉為集合
[dict.rac_sequence
.signal subscribenext:^(ractuple * x)];
[_redview rac_observekeypath:@"frame" options:nskeyvalueobservingoptionold observer:nil block:^(id value, nsdictionary *change, bool causedbydealloc, bool affectedonlylastcomponent) ];
[[_btn rac_signalforcontrolevents:(uicontroleventtouchupinside)]subscribenext:^(__kindof uicontrol * _nullable x) ];
[[[nsnotificationcenter defaultcenter]rac_addobserverforname:uikeyboardwillshownotification object:nil]subscribenext:^(nsnotification * _nullable x) ];
[_textfield.rac_textsignal subscribenext:^(nsstring * _nullable x) ];
//這裡訂閱收到的是乙個x,當乙個頁面存在多個tableview時,我們可以對x進行判斷看是哪個tableview
[[self rac_signalforselector:@selector(tableview:didselectrowatindexpath:) fromprotocol:@protocol(uitableviewdelegate) ] subscribenext:^(ractuple * x) ];
//這樣子不帶協議是無法代替**的,雖然能達到效果,這個方法表示某個selector被呼叫時執行一段**.帶有協議引數的表示該selector實現了某個協議,所以可以用它來實現delegate。
// [[self rac_signalforselector:@selector(tableview:didselectrowatindexpath:)] subscribenext:^(ractuple* x) ];
//這裡是個坑,必須將**最後設定,否則訊號是無法訂閱到的
//在設定**的時候,系統會快取這個**物件實現了哪些**方法
//如果將**放在訂閱訊號前設定,那麼當控制器成為**時是無法快取這個**物件實現了哪些**方法的
tableview.delegate = self;
SDN常見應用場景
1 overlay 由於虛擬機器遷移的網路屬性要求,當從乙個物理機上遷移到另乙個物理機上,要求虛擬機器不間斷業務,需要其ip位址 mac位址等引數保持不變,如此則要求業務網路是乙個二層網路。傳統的二層無法穿越中間的三層網路,此外傳統的vlan只能支援4k個vlan,虛擬機器規模受網路規格限制,網路隔...
redis常見應用場景
redis應用場景總結redis平時我們用到的地方蠻多的,下面就了解的應用場景做個總結 1 熱點資料的快取由於redis訪問速度塊 支援的資料型別比較豐富,所以redis很適合用來儲存熱點資料,另外結合expire,我們可以設定過期時間然後再進行快取更新操作,這個功能最為常見,我們幾乎所有的專案都有...
xargs應用場景和常見用法
基本是配合有輸出結果多的命令,例如find ls 查詢所有的jpg 檔案並壓縮find name png type f print xargs tar cvzf images.tar.gz刪除查詢到的日誌find name log print0 xargs 0 rm f查詢當前目錄下所有使用者具有讀...