RxSwift常見用法(一)

??RxSwiftReactiveCocoa 的swift版本,是一種函數(shù)式響應(yīng)編程的框架。RxSwift遵循Functional Reactive Programming(FRP)的設(shè)計(jì)規(guī)范,其目的是通過(guò)類似于信號(hào)流或者觀察者的方式來(lái)實(shí)現(xiàn)代碼的邏輯運(yùn)算,使代碼更加的簡(jiǎn)潔、明了。
??第一次用RxSwift你會(huì)感覺和OC版本的ReactiveCocoa有很大的區(qū)別,基本上改了個(gè)底朝天。


先上代碼,可以自行下載

github代碼.


注意:

當(dāng)你使用RxSwift的時(shí)候有時(shí)候沒有代碼提示,這個(gè)時(shí)候你要校驗(yàn)一下使用的對(duì)象,否則就敲后面方法的時(shí)候就沒有提示。是不是很蛋疼?比如:

 // 校驗(yàn)是為了后面有代碼提示
guard let button1 = button1 else { 
            print("Error")
            return
        }
button1.rx.tap.subscribe{ (even : Event<()>) in
            print("你點(diǎn)擊了按鈕")
            }.disposed(by: bag)

UI控件的簡(jiǎn)單用法

  • 1、UIButton
        guard let button1 = button1 else { //校驗(yàn)是為了后面有代碼提示
            print("Error")
            return
        }
        button1.rx.tap.subscribe{ (even : Event<()>) in
            print("你點(diǎn)擊了按鈕")
            }.disposed(by: bag)
  • 2、UITextField
tf.rx.text.subscribe { (even : Event<String?>) in
    print(even.element!!)
    self.label.text = even.element!
    }.disposed(by: bag)

tf.rx.text.subscribe(onNext: { (str : String?) in
    print("str: \(str ?? "")")
    self.label.text = str ?? ""
}).disposed(by: bag)

if let tf  = tf { // if校驗(yàn)為了后面有代碼提示
            tf.rx.text.bind(to: label.rx.text).disposed(by: bag)
        }
  • 3、UILabel
label.rx.observe(String.self, "text").subscribe(onNext:
{ (string) in
    print("s--\(string!)")
    /*
     2017-12-27 16:51:06.102420+0800 RxSwift常見用
[16431:2762994] [MC] Reading from private effective
user settings.
     s--1
     s--11
     s--111
     s--1111
     s--11111
     */
}).disposed(by: bag)
  • 4、UIScrollView
scrollView.contentSize = CGSize(width: 1000, height: 1100)
scrollView.rx.contentOffset.subscribe(onNext: { (poit) in
    
print("poit== \(poit.x)")
}).disposed(by: bag)

github代碼.

?著作權(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)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,030評(píng)論 4 61
  • 大漠黃沙夜半風(fēng),燕山彎月掌心弓。 星河不動(dòng)天如水,向日金鱗勒玉驄。
    小木山莊的溜溜閱讀 324評(píng)論 0 2
  • UI文案,就是交互界面上的說(shuō)明和提示文字,主要是用來(lái)引導(dǎo)用戶完成操作,讓他們順利的達(dá)到目的。想要提高用戶體驗(yàn),簡(jiǎn)潔...
    點(diǎn)融黑幫閱讀 1,438評(píng)論 1 22
  • 手機(jī)里每一個(gè)軟件都好像有毒,愛奇藝、搜狐……這些播放器像是長(zhǎng)途跋涉荒漠之中偶然瞥見顫栗的罌粟花海,欣賞美,耽于美,...
    漣漪珍重閱讀 420評(píng)論 0 0

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