RxSwift快學(xué)教程(一)

認(rèn)識(shí)RxSwift

一句話:讓你在相同的時(shí)間用更少的代碼完成更多的功能归薛。

總結(jié):早點(diǎn)下班枪眉!


RxSwift 核心概念就是總共有兩個(gè):
1.一個(gè)觀察者( Observer )訂閱一個(gè)可觀察序列( Observable )。
2.觀察者對(duì) Observable 發(fā)射的數(shù)據(jù)或數(shù)據(jù)序列作出響應(yīng)访得。

簡(jiǎn)單的說明放一個(gè)官方的例子(所有的例子都是要么官方咸作,要么是項(xiàng)目中引用出來說明的,應(yīng)該都具有一定的代表性)

    Observable.combineLatest(firstName.rx.text, lastName.rx.text) { "\($0!) \($1!)" }
        .map { "Greetings, \($0)" }
        .bind(to: greetingLabel.rx.text)
        .disposed(by: rx.disposeBag)

這一段代碼中酣衷,具體完成了這些事情

1. 將 firstName 和 lastName 的 text 值用空格合并起來作為結(jié)果傳遞給下一步使用
2. 使用 map 的方法,將上一步得到值前面加上一個(gè) Greeting 次泽,并將該值傳遞給后面使用
3. bindTo 就是綁定穿仪,將上一步的值綁定到 greetingLabel 的 text
4. disposed最后做一次資源回收

不太理解也沒太大關(guān)系。畢竟我一開始也是懵逼的意荤。
簡(jiǎn)單來說啊片,在用rx進(jìn)行編寫的時(shí)候,要考慮到數(shù)據(jù)或者是操作的流向袭异。
比如通過判斷用戶輸入的手機(jī)號(hào)來對(duì)按鈕的enable事件進(jìn)行處理钠龙。
比如通過scrollview的contentoffset.x與screen_width的比值來控制pagecontrol的currentpage
或者說通過按鈕的點(diǎn)擊事件來進(jìn)行其他操作......

舉個(gè)栗子:


引導(dǎo)頁

這個(gè)是一個(gè)比較典型的引導(dǎo)頁界面,storyboard上面創(chuàng)建一個(gè)ViewController御铃,放一個(gè)scrollview以及pagecontrol、button沈矿、三個(gè)imageView

如果我們要來實(shí)現(xiàn)功能將currentpage與contentoffset.x進(jìn)行綁定實(shí)現(xiàn)滑動(dòng)跳轉(zhuǎn)功能上真。正常的代碼YY一下就知道不算太多,但是還要寫delegate來判斷羹膳。所以采用rx來完成功能:


完成引導(dǎo)頁代碼

整體來說就是兩句Kァ!陵像!就珠,完成了同步跳轉(zhuǎn)以及按鈕點(diǎn)擊進(jìn)入APP功能。(這里沒有使用$0來表示醒颖,為了盡可能的表示清楚妻怎,后面會(huì)直接采用$0來表示)

代碼的意思很簡(jiǎn)單,創(chuàng)建一個(gè)scrollview的contentoffset觀察者泞歉,綁定給pagecontrol的currentpage逼侦。因?yàn)閏urrentpage接收Int值匿辩,所以要將offset與width進(jìn)行比值得到當(dāng)前所處的頁面位置。最后在回收處理榛丢。創(chuàng)建一個(gè)button的tap觀察者铲球,同時(shí)訂閱點(diǎn)擊button操作,當(dāng)前是點(diǎn)擊按鈕會(huì)打印出進(jìn)入APP晰赞。最后在回收處理稼病。

這個(gè)是比較簡(jiǎn)單的例子,如果還是覺得看著吃力的話掖鱼,建議先看看最初話中提供的資料溯饵。以及有非常詳細(xì)全面的講解了。

最后附上效果圖锨用。


引導(dǎo)頁.gif

如果有錯(cuò)誤的地方丰刊,請(qǐng)指正。覺得還行請(qǐng)支持一下吧增拥!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末啄巧,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子掌栅,更是在濱河造成了極大的恐慌秩仆,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件猾封,死亡現(xiàn)場(chǎng)離奇詭異澄耍,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)晌缘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門齐莲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人磷箕,你說我怎么就攤上這事选酗。” “怎么了岳枷?”我有些...
    開封第一講書人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵芒填,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我空繁,道長(zhǎng)殿衰,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任盛泡,我火速辦了婚禮闷祥,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘饭于。我一直安慰自己蜀踏,他們只是感情好维蒙,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著果覆,像睡著了一般颅痊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上局待,一...
    開封第一講書人閱讀 52,156評(píng)論 1 308
  • 那天斑响,我揣著相機(jī)與錄音,去河邊找鬼钳榨。 笑死舰罚,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的薛耻。 我是一名探鬼主播营罢,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼饼齿!你這毒婦竟也來了饲漾?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤缕溉,失蹤者是張志新(化名)和其女友劉穎考传,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體证鸥,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡僚楞,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了枉层。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片泉褐。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖返干,靈堂內(nèi)的尸體忽然破棺而出兴枯,到底是詐尸還是另有隱情,我是刑警寧澤矩欠,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布,位于F島的核電站悠夯,受9級(jí)特大地震影響癌淮,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜沦补,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一乳蓄、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧夕膀,春花似錦虚倒、人聲如沸美侦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽菠剩。三九已至,卻和暖如春耻煤,著一層夾襖步出監(jiān)牢的瞬間具壮,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來泰國(guó)打工哈蝇, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留棺妓,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓炮赦,卻偏偏與公主長(zhǎng)得像怜跑,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子吠勘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

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

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫性芬、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,117評(píng)論 4 61
  • 對(duì)于剛畢業(yè)的大學(xué)生來說汽煮,3000千塊對(duì)他們來說可能是個(gè)夢(mèng)寐以求的數(shù)字,畢竟剛脫離了象牙塔棚唆,開始承擔(dān)養(yǎng)活自己的責(zé)任確...
    價(jià)值堅(jiān)守閱讀 2,576評(píng)論 0 2
  • 上篇文章分享了 [Ctrl+E]的小技巧 有小伙伴反饋能用在拆分17位車架號(hào) 也能輕松用在提取身份證中出生年月日 ...
    二解閱讀 200評(píng)論 0 0
  • #很多人把理想昭告天下時(shí)暇赤,就以為自己完成了一小半,然后他/她會(huì)不自覺地陷入自我滿足中宵凌,懈怠鞋囊、拖延甚至倒退。
    如云水漂泊閱讀 148評(píng)論 0 0
  • 太陽漸漸的沉了下去瞎惫,在山峰的懷抱中入了甜甜的夢(mèng)溜腐,世界變的靜悄悄。直到瓜喇,一個(gè)朦朧的光圈撥開了身上的輕紗挺益,一時(shí)間一呼百...
    捱不明的更漏閱讀 270評(píng)論 0 1