RxSwift - Observable & Observer


//MARK: of - 가번적인(변경 될수 있는, 변경 할수 있는)Element가 포함하는 Observable Sequence를 생성
//MARK: of - Element가 많다고 해서 Array 타입이 아니다 설정 값은 <Int>타입이며 확인을 해보면 Observable<Int>로 되어 있다. 가변 적으로 Element들을 넣을수 있다는 것이다.
let observableOfInt: Observable<Int> = Observable<Int>.of(1,2,3,4,5)
let observableOfString: Observable<String> = Observable<String>.of("1","2","3","4")

print(observableOfInt)
print(observableOfString)

//MARK: Observable & Observer
//MARK: Observable는 관찰 가능한 상태를 유지하며 Event를 방출한다. 해당 Event는 Observer(관찰자)에게 전달하며,  Observer가 이벤트를 전달받으면 이를 Observer가 처리합니다.
//MARK: 이러한 행위를 Subscribe(구독) 한다고 표현하기에 Observer를 구독자라고 부른다.
//MARK: Observable이 방출 하는 이벤트를 Observer가 받아내서 처리하기 위해서는 구독(Subscribe)행위가 필요하다고 앞서 언급 하였으며, 구독을 하기 위해서는 Subscribe 메서드를 호출 하여야 합니다.


//MARK: create 연산자
//MARK: create 연산자는 Observable의 Event(옵저버블)를 직접 생성 한다. 생성한 Event를 처리하기 위해서는 구독(Subscribe)메서드를 호출 하여야 한다. Create메서드는 단순히 Observer에게 전달한 Event를 직접 생성 하는것이다.


let randomObservable: Observable<Int> = Observable<Int>.create { element in
    element.onNext(1)
    return Disposables.create()
}

randomObservable.subscribe (onNext: { (element) in
    print("observer 1 : \(element)")
})

観測可能な概念とは


-観測可能な観測可能クラスは、Rxコードに基づいて非同期にイベントを作成する機能であり、これらのイベントは、T(Generic)形式でデータを伝達することができる.簡単に言えば、これは他のクラスが発行した値を購読できることを意味します.

  • 可視性は可視性タイププロトコルを遵守し、可視性タイププロトコルは可視性タイププロトコルを遵守する.
  • next-最新/次のステップのデータを提供する
  • 完了-一連のイベントを終了することに成功し、ライフサイクルが正常に完了したことを観測(作成者)することができ、追加のイベントは解放されません.
  • error-Observable(ジェネレータ)エラーで、イベントは解放されません.
  • は、他のイベントは作成されないことを示します(エラーとともに完全に終了します).

  • Observerableにはnext、error、completedコンポーネントがあります.
  • let observableWithInt: Observable<Int> = Observable<Int>.just(1)
    let observableWithString: Observable<String> = Observable<String>.just("2")
    
    print(observableWithInt)
    print(observableWithString)

    観測可能な作成

  • just-1つの要素のみを含む観測可能なシーケンス
  • を生成する.
    let observableWithInt: Observable<Int> = Observable<Int>.just(1)
    let observableWithString: Observable<String> = Observable<String>.just("2")
    
    print(observableWithInt)
    print(observableWithString)
  • -繰り返し可能(変更可能、変更可能)要素を含む
  • 観測可能シーケンスを生成します.
  • of-Eelementは多いですが、Arrayタイプではなく、設定値がタイプで、確認すると観察できます.要素を可変に加えることができます.
  • let observableOfInt: Observable<Int> = Observable<Int>.of(1,2,3,4,5)
    let observableOfString: Observable<String> = Observable<String>.of("1","2","3","4")
    
    print(observableOfInt)
    print(observableOfString)

    Observable & Observer

  • 観測可能な状態を維持し、イベントを解放する.イベントはオブザーバー(Observer)に渡され、オブザーバーがイベントを受信するとオブザーバーによって処理されます.
  • はこの行為をサブスクリプションと呼ぶので、Observerはサブスクリプションと呼ぶ.
  • 前述したように、理由
  • が視覚的に公開されたイベントを受信し、処理するには、Subscribeメソッドを呼び出して購読する必要があります.