RxSwift<3>—— Observable序列的創(chuàng)建方式

序列,觀察者,調(diào)度者,銷毀者是RxSwift幾個(gè)要素,今天說說序列的創(chuàng)建
1.empty
首先來一個(gè)空序列,本來序列事件是Int類型,這里調(diào)用empyt,則沒有序列,只有complete

 let emptyOb = Observable<Int>.empty()
        _ = emptyOb.subscribe(onNext: { (number) in
            print("訂閱:",number)
        }, onError: { (error) in
            print("error:",error)
        }, onCompleted: {
            print("完成回調(diào)")
        }) {
            print("釋放回調(diào)")
        }
流程簡(jiǎn)潔.png

2.just

  • 單個(gè)信號(hào)序列創(chuàng)建
  • 通過傳入默認(rèn)值初始化,構(gòu)建只有一個(gè)元素的Observable,訂閱完成自動(dòng)completed
 let array = ["A","B","C"]
        Observable<String>.just(array)
            .subscribe{(event) in
                print(event)
        }.disposed(by:disposeBag)
        
        _ = Observable<String>.just(array)
            .subscribe(onNext:{(number) in
                print(number)
        },onError: {(error) in
            print(error)
        },onCompleted: {
   
        }) {
            print("釋放完成")
        }

11.png

3.of

  • 創(chuàng)建一個(gè)新的可觀察序列,該實(shí)例具有可變數(shù)量的元素
  • 該方法可接受可變數(shù)量的參數(shù)
// 多個(gè)元素 - 針對(duì)序列處理
Observable<String>.of("A","B")
    .subscribe { (event) in
        print(event)
    }.disposed(by: disposeBag)

// 字典
Observable<[String: Any]>.of(["name":"JIM","age":18])
    .subscribe { (event) in
        print(event)
    }.disposed(by: disposeBag)

// 數(shù)組
Observable<[String]>.of(["lucy","lily"])
    .subscribe { (event) in
        print(event)
    }.disposed(by: disposeBag)
22.png
  • 無論字典,數(shù)組,多個(gè)元素都是正常使用
    4.from

    • 將可選序列轉(zhuǎn)換為可觀察序列。
    • 從集合中獲取序列:數(shù)組,集合,set 獲取序列 - 有可選項(xiàng)處理 - 更安全
Observable<[String]>.from(optional: ["nice","good"])
    .subscribe { (event) in
        print(event)
    }.disposed(by: disposeBag)
33.png
- self._optional = optional底層初始化可選項(xiàng)保存
- 訂閱流程判斷是否匹配我們的可選項(xiàng)
- 發(fā)送observer.on(.next(element))序列
- 隨即自動(dòng)observer.on(.completed)完成序列發(fā)送
最后編輯于
?著作權(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ù)。

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