RXSwift

1、Rx 介紹

1,什麼是 Rx?

  • Rx是 ReactiveX的縮寫,簡單來講就是基於異步 Event(事件)序列的響應式編程。
  • Rx能夠簡化異步編程方法,並提供更優雅的數據綁定。讓咱們能夠時刻響應新的數據同時順序地處理它們。

2,Rx 庫

  • Rx自己能夠說是一種跨平臺的標準,它有本身的社區論壇,無論是web仍是移動開發,都能用 Rx的思惟和方法來完成你的工做。
  • 做爲一種跨平臺標準,目前已經有許多基於不一樣開發語言的 Rx的庫。除了我後面會着重介紹的 RxSwift以外,還有 RxJava, RxJS, RxKotlin, Rx.NET...等等。
  • 這些 Rx庫雖然用的語言不一樣,但它們之間其實都是相通的,都有相同的 API。因此說若是之後你使用別的語言作其餘的方面的開發,一樣是可使用相同的思惟甚至相同的方法接口(除了語言不一樣)來編程。

3,Rx 主頁

  • 若是想了解整個 Rx你們庭的成員,能夠訪問它的主頁
  • 在這裏咱們能夠看到全部支持的語言,以及平臺:
 
 

2、RxSwift 介紹

1,RxSwift 的做用

(1)在編寫代碼時咱們常常會須要檢測某些值的變化(好比:textFiled輸入值的變化、數據請求完成或失敗的變化),而後進行相應的處理。react

  • 過去針對不一樣的狀況,咱們須要採用不一樣的事件傳遞方法去處理,好比:delegatenotifinotiontarget-actionKVO等等。
  • 而 RectiveX機制(由 RxSwift實現)的出現,讓程序裏的事件傳遞響應方法作到統一。將以前那些經常使用的事件傳遞方法(好比:delegatenotificationtarget-action等等),所有替換成 Rx的「信號鏈」方式。

(2)若是咱們平時使用的是 MVVM開發模式的話,經過RxSwift能夠得到更加方便的數據綁定的方法,使得 MVVM開發更加如虎添翼。git

二、RxSwift 的安裝與配置

(1)手動

(1)從 GitHub上下載最新的代碼github

(2)將下載下來的源碼包中 Rx.xcodeproj拖拽至你的工程中web

(3)工程 -> General-> Embedded Binaries項,把 iOS 版的 RxSwift.frameworkRxCocoa.framework添加進來編程

(2)CocoaPods

pod --version: 1.3.1已經過測試」xcode

# Podfile use_frameworks! target 'YOUR_TARGET_NAME' do pod 'RxSwift', '~> 4.0' pod 'RxCocoa', '~> 4.0' end # RxTests 和 RxBlocking 將在單元/集成測試中起到重要做用 target 'YOUR_TESTING_TARGET' do pod 'RxBlocking', '~> 4.0' pod 'RxTest', '~> 4.0' end」 

替換 YOUR_TARGET_NAME而後在 Podfile目錄下, 終端輸入:ruby

$ pod install
(3)Carthage

carthage version: 0.26.2已經過測試bash

添加到Cartfile異步

github "ReactiveX/RxSwift" ~> 4.0 
$ carthage update
最後,在須要使用 RxSwift 的地方 import 進來就能夠了
import RxSwift import RxCocoa 

三、RxSwift 與 RxCocoa

前面配置的時候,咱們會在 Swift項目中引入 RxSwiftRxCocoa這兩個庫,他們的做用分別是:異步編程

  • RxSwift:它只是基於 Swift語言的 Rx標準實現接口庫,因此 RxSwift裏不包含任何 Cocoa或者 UI方面的類。
  • RxCocoa:是基於 RxSwift針對於 iOS開發的一個庫,它經過 Extension的方法給原生的好比 UI控件添加了 Rx的特性,使得咱們更容易訂閱和響應這些控件的事件。
相關文章
相關標籤/搜索