반응형
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 |