목록Subject (3)
study record
Subject 실시간으로 Observable에 값을 추가하고, Subscriber에게 이벤트나 값을 방출할 수 있는 것. Observable이자 Observer인 것이 Subject이다. Subject를 통해 실시간으로 값을 추가하고 구독할 수 있다. Subject를 사용하여 Cold Observable을 Hot Observable로 변환할 수 있다. Relay란? Relay Class는 RxCocoa4에서 구현되었고, PublishRelay와 BehaviorRelay 클래스가 존재한다. RxSwift인 Subject와 다르게 Relay는 RxCocoa의 클래스이다. 또한 Relay는 Subject와 다르게 onNext(_:)가 아닌 acceept(_:)를 통해 새로운 이벤트를 전달한다. 그리고 subs..
Subject Subject는 Observable이자 Observer 두 역할 모두를 수행한다. next 이벤트를 통해 값을 전달받고, 이벤트를 수신할 때마다 subscriber를 통해 방출한다. Subject 종류 PublishSubject : 빈 상태로 시작하여 새로운 값만을 subscriber에 방출 BehaviorSubject : 하나의 초기값을 가진 상태로 시작하여, 새로운 subscriber에게 초기값 또는 최신값을 방출 ReplaySubject : 버퍼를 두고 초기화하며, 버퍼 사이즈 만큼의 값들을 유지하면서 새로운 subscriber에게 방출 Variable : BehaviorSubject를 래핑하고, 현재의 값을 상태로 보존. 가장 최신/초기 값만을 새로운 subscriber에게 방출 P..
Subject Subject란 Observable이자 Observer의 성격을 지니고 있다. Subject는 동적으로 값을 발행할 수 있다. Subject는 구독하고 있는 여러 Observer들에게 값을 발행할 수 있다. Subject는 Observable을 상속하고 있다. 이는 Subject가 Observable이자 Observer라는 것을 의미한다. Observer(관찰자)의 성격을 지니고 있기 때문에 Observable을 구독할 수 있다. Observable이기 때문에 이벤트를 발행할 수도 있다. * view의 유저 인터렉션을 viewModel의 Subject가 구독하고, 구독을 통해 발행된 값을 바탕으로 viewModel에서 비즈니스 로직을 거쳐 가공된 데이터를 View가 구독함으로써 로직을 구성..