본문 바로가기

IOS/RXSwift

Operation

반응형

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