(轉(zhuǎn))ReactiveCocoa之RAC過濾

// 跳躍 : 如下田炭,skip傳入2 跳過前面兩個值  
// 實際用處: 在實際開發(fā)中比如 后臺返回的數(shù)據(jù)前面幾個沒用鞭执,我們想跳躍過去,便可以用skip  
- (void)skip {  
    RACSubject *subject = [RACSubject subject];  
    [[subject skip:2] subscribeNext:^(id x) {  
        NSLog(@"%@", x);  
    }];  
    [subject sendNext:@1];  
    [subject sendNext:@2];  
    [subject sendNext:@3];  
}  
  
//distinctUntilChanged:-- 如果當(dāng)前的值跟上一次的值一樣刊咳,就不會被訂閱到  
- (void)distinctUntilChanged {  
    RACSubject *subject = [RACSubject subject];  
    [[subject distinctUntilChanged] subscribeNext:^(id x) {  
        NSLog(@"%@", x);  
    }];  
    // 發(fā)送信號  
    [subject sendNext:@1];  
    [subject sendNext:@2];  
    [subject sendNext:@2]; // 不會被訂閱  
}  
  
// take:可以屏蔽一些值,去前面幾個值---這里take為2 則只拿到前兩個值  
- (void)take {  
    RACSubject *subject = [RACSubject subject];  
    [[subject take:2] subscribeNext:^(id x) {  
        NSLog(@"%@", x);  
    }];  
    // 發(fā)送信號  
    [subject sendNext:@1];  
    [subject sendNext:@2];  
    [subject sendNext:@3];  
}  
  
//takeLast:和take的用法一樣,不過他取的是最后的幾個值,如下延届,則取的是最后兩個值  
//注意點:takeLast 一定要調(diào)用sendCompleted椭符,告訴他發(fā)送完成了荔燎,這樣才能取到最后的幾個值  
- (void)takeLast {  
    RACSubject *subject = [RACSubject subject];  
    [[subject takeLast:2] subscribeNext:^(id x) {  
        NSLog(@"%@", x);  
    }];  
    // 發(fā)送信號  
    [subject sendNext:@1];  
    [subject sendNext:@2];  
    [subject sendNext:@3];  
    [subject sendCompleted];  
}  
  
// takeUntil:---給takeUntil傳的是哪個信號,那么當(dāng)這個信號發(fā)送信號或sendCompleted艰山,就不能再接受源信號的內(nèi)容了湖雹。  
- (void)takeUntil {  
    RACSubject *subject = [RACSubject subject];  
    RACSubject *subject2 = [RACSubject subject];  
    [[subject takeUntil:subject2] subscribeNext:^(id x) {  
        NSLog(@"%@", x);  
    }];  
    // 發(fā)送信號  
    [subject sendNext:@1];  
    [subject sendNext:@2];  
    [subject2 sendNext:@3];  // 1  
//    [subject2 sendCompleted]; // 或2  
    [subject sendNext:@4];  
}  
  
// ignore: 忽略掉一些值  
- (void)ignore {  
    //ignore:忽略一些值  
    //ignoreValues:表示忽略所有的值  
    // 1.創(chuàng)建信號  
    RACSubject *subject = [RACSubject subject];  
    // 2.忽略一些值  
    RACSignal *ignoreSignal = [subject ignore:@2]; // ignoreValues:表示忽略所有的值  
    // 3.訂閱信號  
    [ignoreSignal subscribeNext:^(id x) {  
        NSLog(@"%@", x);  
    }];  
    // 4.發(fā)送數(shù)據(jù)  
    [subject sendNext:@2];  
  
}  
  
// 一般和文本框一起用,添加過濾條件  
- (void)fliter {  
    // 只有當(dāng)文本框的內(nèi)容長度大于5曙搬,才獲取文本框里的內(nèi)容  
    [[self.textField.rac_textSignal filter:^BOOL(id value) {  
        // value 源信號的內(nèi)容  
        return [value length] > 5;  
        // 返回值 就是過濾條件。只有滿足這個條件才能獲取到內(nèi)容  
    }] subscribeNext:^(id x) {  
        NSLog(@"%@", x);  
    }];  
}

注:轉(zhuǎn)載自http://blog.csdn.net/y_csdnblog_xx/article/details/51480542

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鸽嫂,一起剝皮案震驚了整個濱河市纵装,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌据某,老刑警劉巖橡娄,帶你破解...
    沈念sama閱讀 222,681評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異癣籽,居然都是意外死亡挽唉,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評論 3 399
  • 文/潘曉璐 我一進(jìn)店門筷狼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瓶籽,“玉大人,你說我怎么就攤上這事埂材∷芩常” “怎么了?”我有些...
    開封第一講書人閱讀 169,421評論 0 362
  • 文/不壞的土叔 我叫張陵俏险,是天一觀的道長严拒。 經(jīng)常有香客問我,道長竖独,這世上最難降的妖魔是什么裤唠? 我笑而不...
    開封第一講書人閱讀 60,114評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮莹痢,結(jié)果婚禮上种蘸,老公的妹妹穿的比我還像新娘。我一直安慰自己格二,他們只是感情好劈彪,可當(dāng)我...
    茶點故事閱讀 69,116評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著顶猜,像睡著了一般沧奴。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上长窄,一...
    開封第一講書人閱讀 52,713評論 1 312
  • 那天滔吠,我揣著相機(jī)與錄音纲菌,去河邊找鬼。 笑死疮绷,一個胖子當(dāng)著我的面吹牛翰舌,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播冬骚,決...
    沈念sama閱讀 41,170評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼椅贱,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了只冻?” 一聲冷哼從身側(cè)響起庇麦,我...
    開封第一講書人閱讀 40,116評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎喜德,沒想到半個月后山橄,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,651評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡舍悯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,714評論 3 342
  • 正文 我和宋清朗相戀三年航棱,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片萌衬。...
    茶點故事閱讀 40,865評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡饮醇,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出奄薇,到底是詐尸還是另有隱情驳阎,我是刑警寧澤,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布馁蒂,位于F島的核電站呵晚,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏沫屡。R本人自食惡果不足惜饵隙,卻給世界環(huán)境...
    茶點故事閱讀 42,211評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望沮脖。 院中可真熱鬧金矛,春花似錦、人聲如沸勺届。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春堆缘,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留想鹰,地道東北人。 一個月前我還...
    沈念sama閱讀 49,299評論 3 379
  • 正文 我出身青樓药版,卻偏偏與公主長得像辑舷,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子槽片,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,870評論 2 361

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,327評論 25 707
  • 在此特此聲明:一下所有鏈接均來自互聯(lián)網(wǎng)何缓,在此記錄下我的查閱學(xué)習(xí)歷程,感謝各位原創(chuàng)作者的無私奉獻(xiàn) 还栓! 技術(shù)一點一點積...
    遠(yuǎn)航的移動開發(fā)歷程閱讀 11,147評論 12 197
  • 獲取相冊數(shù)據(jù) http://kayosite.com/ios-development-and-detail-of-...
    0271fb6f797c閱讀 1,589評論 0 1
  • 我拿什么來對抗時間 讓皺紋不要爬上我的臉 讓我可以一直擁有青春的容顏 我拿什么來對抗時間 讓姑娘可以留在我的身邊 ...
    8711c96664b7閱讀 377評論 0 3
  • 我為什么會以同樣的方式跌倒那么多次8柩辍? 想太多 你真太會害人了蝙云,不要給我希望,我不喜歡希望路召!因為終究都會絕望勃刨!男人...
    阿紫ahaha閱讀 197評論 0 0