ReactiveCocoa筆記3

RAC的一些用法

1.代替KVO

  • 當(dāng)self.view的Frame發(fā)生變化是下邊兩個(gè)方法都能調(diào)用內(nèi)部的Block
    [self.view rac_observeKeyPath:@"frame" options:NSKeyValueObservingOptionNew observer:nil block:^(id value, NSDictionary *change, BOOL causedByDealloc, BOOL affectedOnlyLastComponent) {
        
    }];
    [[self.view rac_valuesForKeyPath:@"frame" observer:nil] subscribeNext:^(id x) {
        
    }];

2.監(jiān)聽事件

  • 按鈕點(diǎn)擊事件的監(jiān)聽
[[_btn rac_signalForControlEvents:UIControlEventTouchUpInside] subscribeNext:^(id x) {
        NSLog(@"按鈕點(diǎn)擊事件");
    }];

3.代替通知

  • 監(jiān)聽鍵盤的彈出
    [[[NSNotificationCenter defaultCenter] rac_addObserverForName:UIKeyboardWillShowNotification object:nil] subscribeNext:^(id x) {
        NSLog(@"鍵盤彈出");
    }];

4.監(jiān)聽文本框的改變

  • 當(dāng)文本框文字方法改變時(shí)就會(huì)調(diào)用
    [_textField.rac_textSignal subscribeNext:^(id x) {
        NSLog(@"%@", x);
    }];

5.代替代理

  • 監(jiān)聽RedView中的按鈕點(diǎn)擊事件
    // 1.代替代理:1.RACSubject 2.rac_signalForSelector
    // 只要傳值,就必須使用RACSubject
    [[_redView rac_signalForSelector:@selector(btnClick:)] subscribeNext:^(id x) {
        NSLog(@"控制器知道按鈕被點(diǎn)擊");
    }];
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.ReactiveCocoa簡(jiǎn)介 ReactiveCocoa(簡(jiǎn)稱為RAC),是由Github開源的一個(gè)應(yīng)用于i...
    清蘂翅膀的技術(shù)閱讀 2,079評(píng)論 0 1
  • 1.ReactiveCocoa簡(jiǎn)介 ReactiveCocoa(簡(jiǎn)稱為RAC),是由Github開源的一個(gè)應(yīng)用于i...
    愛睡覺的魚閱讀 1,216評(píng)論 0 1
  • 1.ReactiveCocoa簡(jiǎn)介 ReactiveCocoa(簡(jiǎn)稱為RAC),是由Github開源的一個(gè)應(yīng)用于i...
    iOS小武哥閱讀 445評(píng)論 1 1
  • 只有最坦率的內(nèi)心才是通往寫作的唯一一條小路。
    oldjimmy閱讀 126評(píng)論 0 0
  • 彼時(shí)的很多禁忌 此時(shí) 就可能是自由的呼吸。 早戀 逃課 考試作弊 半夜翻墻回宿舍。。。這些禁忌都是青春的印證 反而...
    Vivian_dh閱讀 212評(píng)論 0 0

友情鏈接更多精彩內(nèi)容