ReactiveCocoa 5.0 swift版本

轉(zhuǎn)換的類(lèi)型有:

RACSiganl 變?yōu)?Signal

  • 信號(hào)的第一種創(chuàng)建方式
    <pre><code> let producer = SignalProducer<Any, NoError>.init { (observe, disposable) in
    observe.send(value: "hello")
    }

      let subscriber = Observer<Any, NoError>(value: { print("輸出 \($0)") })
    
      producer.start(subscriber)
    

</pre></code>

  • 信號(hào)的第二種創(chuàng)建方式
    <pre><code>let (signalA, observerA) = Signal<String, NoError>.pipe()
    signalA.observeValues { (value) in
    print("輸出 (value)")
    }
    observerA.send(value: "signalA")
    </pre></code>

  • 兩個(gè)信號(hào)都發(fā)送消息的時(shí)候才會(huì)調(diào)用
    <pre><code>let (signalA, observerA) = Signal<String, NoError>.pipe()
    signalA.observeValues { (value) in
    print("輸出 (value)")
    }
    observerA.send(value: "signalA")
    let (signalB, observerB) = Signal<String, NoError>.pipe()
    Signal.combineLatest(signalA,signalB).observeValues { (value) in
    print( "收到的值(value.0) + (value.1)")
    }
    observerA.send(value: "我是信號(hào)1")
    observerA.sendCompleted()
    observerB.send(value: "我是信號(hào)2")
    observerB.sendCompleted()
    </pre></code>

  • 實(shí)現(xiàn)代理
    <pre><code>let redV = RedView()
    redV.frame = CGRect(x: 100, y: 100, width: 100, height: 100)
    view.addSubview(redV)
    redV.signal.observeValues { (value) in
    print("接收到 (value)")
    }
    </pre></code>

RedView中代碼

<pre><code>var btn : UIButton?
let (signal,obser) = Signal<Any,NoError>.pipe()

override init(frame: CGRect) {
    super.init(frame: frame)
    backgroundColor = UIColor.red
    btn = UIButton(type: .custom)
    btn?.frame = CGRect(x: 0, y: 0, width: 50, height: 50)
    btn?.setTitle("哈哈", for: .normal)
    addSubview(btn!)
    
    btn!.reactive.controlEvents(.touchUpInside).observeValues({ (_) in
        print("redView點(diǎn)擊")
        self.obser.send(value: "redView代理")
        self.obser.sendCompleted()

    })

</pre></code>

  • 其他
    <pre><code>
    //nameTf 跟 pwdTf同時(shí)有值得時(shí)候才會(huì)調(diào)用
    Signal.combineLatest(nameTf.reactive.continuousTextValues, pwdTf.reactive.continuousTextValues).observeValues { (name,pwd) in
    print("(name!) ++++ (pwd!)")
    }
    //button點(diǎn)擊事件
    btn.reactive.controlEvents(.touchUpInside).observeValues { (_ button) in
    print(btn.tag)
    }
    //輸入框字符大于6 按鈕才可以點(diǎn)擊 第一種寫(xiě)法
    Signal.combineLatest(nameTf.reactive.continuousTextValues,pwdTf.reactive.continuousTextValues).map { (name, password) -> Bool in
    return ((name?.characters.count)! >= 6 && (password?.characters.count)! >= 6)
    }.observeValues { (value) in
    btn.isEnabled = value
    }
    //輸入框字符大于6 按鈕才可以點(diǎn)擊 第二種寫(xiě)法
    btn.reactive.isEnabled <~ Signal.combineLatest(nameTf.reactive.continuousTextValues,pwdTf.reactive.continuousTextValues).map { $0?.characters.count ?? 0 >= 6 && $1?.characters.count ?? 0 >= 6
    }
    //線(xiàn)程
    QueueScheduler.main.schedule(after: Date.init(timeIntervalSinceNow: 0.5)) {
    print("0.5秒后調(diào)用")
    }
    QueueScheduler.init().schedule(after: Date.init(timeIntervalSinceNow: 0.5)) {
    print("子線(xiàn)程調(diào)用")
    }
    //接收通知
    NotificationCenter.default.reactive.notifications(forName: Notification.Name(rawValue: "redView")).observeValues({ (noti) in
    print(noti.object ?? "通知")
    })
    </pre></code>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末阵难,一起剝皮案震驚了整個(gè)濱河市遂赠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌夭苗,老刑警劉巖翼悴,帶你破解...
    沈念sama閱讀 212,542評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件缚够,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡鹦赎,警方通過(guò)查閱死者的電腦和手機(jī)谍椅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)古话,“玉大人雏吭,你說(shuō)我怎么就攤上這事∨悴龋” “怎么了杖们?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,021評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)膊毁。 經(jīng)常有香客問(wèn)我胀莹,道長(zhǎng),這世上最難降的妖魔是什么婚温? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,682評(píng)論 1 284
  • 正文 為了忘掉前任描焰,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘荆秦。我一直安慰自己篱竭,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,792評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布步绸。 她就那樣靜靜地躺著掺逼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪瓤介。 梳的紋絲不亂的頭發(fā)上吕喘,一...
    開(kāi)封第一講書(shū)人閱讀 49,985評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音刑桑,去河邊找鬼氯质。 笑死,一個(gè)胖子當(dāng)著我的面吹牛祠斧,可吹牛的內(nèi)容都是我干的闻察。 我是一名探鬼主播,決...
    沈念sama閱讀 39,107評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼琢锋,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼辕漂!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起吴超,我...
    開(kāi)封第一講書(shū)人閱讀 37,845評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤钉嘹,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后烛芬,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體隧期,經(jīng)...
    沈念sama閱讀 44,299評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,612評(píng)論 2 327
  • 正文 我和宋清朗相戀三年赘娄,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宏蛉。...
    茶點(diǎn)故事閱讀 38,747評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡遣臼,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出拾并,到底是詐尸還是另有隱情揍堰,我是刑警寧澤,帶...
    沈念sama閱讀 34,441評(píng)論 4 333
  • 正文 年R本政府宣布嗅义,位于F島的核電站屏歹,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏之碗。R本人自食惡果不足惜蝙眶,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,072評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧幽纷,春花似錦式塌、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,828評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至收恢,卻和暖如春武学,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背伦意。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,069評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工劳淆, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人默赂。 一個(gè)月前我還...
    沈念sama閱讀 46,545評(píng)論 2 362
  • 正文 我出身青樓沛鸵,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親缆八。 傳聞我的和親對(duì)象是個(gè)殘疾皇子曲掰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,658評(píng)論 2 350

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

  • 一.UI綁定 <~ 符號(hào)用法 1.某個(gè)值動(dòng)態(tài)綁定到UITextField控件上來(lái) var firstName: M...
    Lewis海閱讀 1,171評(píng)論 1 3
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)奈辰,斷路器栏妖,智...
    卡卡羅2017閱讀 134,637評(píng)論 18 139
  • By Lisa 隔三差五就會(huì)有人問(wèn)我,老刀培訓(xùn)的學(xué)員 Match 成功率有多少敖鼻 吊趾?說(shuō)實(shí)話(huà),這個(gè)問(wèn)題有點(diǎn)難回答瑟啃。因?yàn)?..
    98cff7392090閱讀 693評(píng)論 0 2
  • 片尾曲響起论泛,燈光點(diǎn)亮,卻鮮有人離開(kāi)蛹屿,在陳奕迅的歌聲和華麗中國(guó)風(fēng)字幕后屁奏,居然還等到了彩蛋,湫復(fù)活接替了靈婆的位置错负,難...
    影秋千閱讀 959評(píng)論 2 1
  • php中的magic_quotes_gpc是配置在php.ini中的坟瓢,他的作用類(lèi)似addslashes(),就是對(duì)...
    人在碼途閱讀 3,251評(píng)論 0 0