just, of, from
just => 하나의 요소를 방출하는 observable을 생성 할 때는 just연산자
of => 2개이상의 연산자를 방출하기 위해서 of 연산자
이 두 연산자는 항목을 그대로 방출
따라서 배열같은 경우 내부의 요소를 출력시키지 못한다.
배열의 요소를 하나씩 방출하고 싶다면 from연산자를 사용한다.
range,generate
range의 경우 1씩증가, 파라미터가 정수의 값으로 제한
-------------------------------------------------------------------------------------------------------------------
generate의 경우 시작값과 조건 그리고 주기를 나타낼수있습니다.이때 조건에 false가 되면 그대로 completed이벤트가 발생합니다.
Observable.generate(initialState: 0 , condition: { $0 <= 10}, iterate: {$0 + 2})
.subscribe { print($0) }
.disposed(by: disposeBag)
next(0)
next(2)
next(4)
next(6)
next(8)
next(10)
completed
RepeatElement => 첫 인자를 넣으면 반복적으로 방출
element = 1
observable.repeatElement(element).subscribe{print($0)}
.take(7) //한도를 정할수있다
.subscribe { print($0) }
.disposed(by: disposeBag)
deferred => 특정 조건에 따라 observerble을 방출할수있다.
즉 상태를 보고 방출할수있다
let factory: Observable<String> = Observable.deferred {
flag.toggle()
if flag {
return Observable.from(animals)
} else {
return Observable.from(fruit)
}
}
'IOS > RXSwift' 카테고리의 다른 글
Subject (0) | 2021.09.19 |
---|---|
Obsevables Observers의 기본 개념 + Disposables , Operator (0) | 2021.09.19 |