Rx

[RxSwift] BehaviorSubject 값 가져오기

코르피 2023. 4. 15. 15:39
반응형
let testBehavior = BehaviorSubject(value: 1)

testBehavior.subscribe(onNext: { value in
    print("emit : \(value)")
})

for i in 1...50 {
    testBehavior.onNext(i)
    let testA = try! testBehavior.value()
    print(testA)
}

 

BehaviorSubject는 값을 가지고 있는 상태이며 내부의 값을 가져올 때 에러핸들링이 필요하다.

 

PublishSubject는 값을 가지고 있지 않다.

var second: Int {
        didSet {
            timeObservable.onNext(second)
        }
    }
    
private let timeObservable: PublishSubject<Int> = .init()

second = 1

 

이렇게 주는게 변수는 하나 더 쓰게 되지만 에러 헨들링 없이 작업할 수 있어 더 편한 것 같다.

반응형

'Rx' 카테고리의 다른 글

[RxCocoa] RxCocoa 사용시 주의사항  (0) 2023.05.16
[RxTest] XCTExpectation  (0) 2023.04.06
[Rx] Reactive Programming이란?  (0) 2023.03.01