RxSwift常見用法(一)

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


先上代碼,可以自行下載

github代碼.


注意:

當你使用RxSwift的時候有時候沒有代碼提示,這個時候你要校驗一下使用的對象,否則就敲后面方法的時候就沒有提示。是不是很蛋疼?比如:

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

UI控件的簡單用法

  • 1、UIButton
        guard let button1 = button1 else { //校驗是為了后面有代碼提示
            print("Error")
            return
        }
        button1.rx.tap.subscribe{ (even : Event<()>) in
            print("你點擊了按鈕")
            }.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校驗為了后面有代碼提示
            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)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

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

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