RXSwift之談

前言

過完年回來,我們iOS組的新項目開發正式從OC轉到Swift,采用RxSwift+Moya+HandyJSON優雅的網絡請求。剛開始對這種響應式的編程思想顯得有點懵逼,現在這個版本開發已經接近尾聲,經過2個多月的實戰和摸索,自己在Swift之路也是正式上車了。在此談一下自己的開發感言。

RxSwift

RxSwift其實就是一個開源庫,它能使用Swift語言進行響應式編程,目的是讓數據/事件流和異步任務能夠更方便的序 列化處理,降低的代碼的耦合度。

Observable<T>

Observable是RxSwift中的一個可觀察序列。它的作用可以異步地產生一系列的?Event(事件),也就是一個Observable<T>對象可以不定期地發出event(element : T)?這樣一個東西。

這些Event中,也可以攜帶數據,T就是用來指定攜帶數據的類型。

有了可觀察序列,我們還需要有一個Observer(訂閱者)來訂閱它,這樣這個訂閱者才能收到?Observable?不時發出的?Event。

Event

一個?Observable?是可以發出 3 種不同類型的?Event?事件:

next:next事件就是那個可以攜帶數據?的事件,訂閱者監聽到這個事件就可以對數據進行相 ? ? ? ? ?應的處理。

error:error?事件表示一個錯誤,它可以攜帶具體的錯誤內容,一旦?Observable發出了?error event,則這個?Observable?就等于終止了,以后它再也不會發出?event?事件了。

completed:completed?事件表示Observable?發出的事件正常地結束了,跟?error一樣,一旦?Observable?發出了?completed event,則這個?Observable?就等于終止了,以后它再也不會發出?event?事件了。

Moya

Moya是在Alamofire的基礎上進行封裝的,允許高度自定義的網絡層,我們在開發的時候可以使用Moya,根據需求進行接口的設置,實現網絡請求。

基本使用

1?根據業務需求創建具體請求,傳入相應的請求參數

2?讓ReusmeAPI實現TargetType協議,定義請求需要的基本信息,包括請求的域名,參數,請????求方式等

3 在自定義的網絡模塊中發送請

HandyJSon

HandyJSon是Swift中JSON轉模型的一個框架,能夠做到JSON轉Model一步到位,而且使用起來,非常簡潔方便

直接繼承HandyJSon定義屬性就可以

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容