티스토리 뷰

🍏/RxSwift

[RxSwift-Operator] Of와 From

eungding 2019. 4. 22. 16:39
반응형

Observable을 만들어주는 생성 operator인 of와 from 

 

of vs from 

 

배열을 넘겨주면
of 는 Observable<배열>을 만들고

from은 배열의 각각 원소들을 Observable로 만든다 

 

let observableByOf = Observable.of([1,2,3])
let observableByFrom = Observable.from([1,2,3])

 

observableByOf의 타입은 Observable<[Int]>

observableByFrom의 타입은 Observable<Int> 이다 

 

Observable.of([1,2,3]).subscribe(onNext: { array in
    print(array)
}).disposed(by: disposeBag)

Observable.from([1,2,3]).subscribe(onNext: { element in
    print(element)
}).disposed(by: disposeBag)

구독해보면 of는 [1,2,3] 

from은

1

2

3

이 출력된다 : ) 

 

 

of에 배열이 아니라 각각의 값들을 넘겨주면 

Observable.of(1,2,3).subscribe(onNext: {
    print($0)
}).disposed(by: disposeBag)

from과 같이 

1

2

3

의 결과를 얻을 수 있다 

 

하지만 from은 이렇게 각각의 값들을 받을 수 없다 오직 배열만 받을 수 있다 

 

 

of 연산자는 매개변수로 배열 또는 각각의 값들을 받을 수 있지만 

from 연산자는 매개변수로 배열만 받을 수 있다 는 차이점도 있다. 

반응형
댓글