[RxSwift] Single With Share Operator
2023. 7. 26. 00:41
iOS/RxSwift
Signle은 RxSwift의 Traits로 하나의 이벤트만 방출하는 Observable이다. Single에는 failure, success라는 2가지 이벤트가 존재한다. success는 일반 Observable의 next + completed와 같은 역할이고 failure은 error이벤트와 같은 역할이다. 다음과 같이 초기에 한번만 이루어지는 네트워크 요청에 자주 사용된다. static func featchAllData(_ url: String) -> Single { return Single.create { single in URLSession.shared.dataTask(with: URL(string: url)!) { data, res, err in if let err = err { single(...
[RxSwift] Operator(4) - Share
2023. 7. 24. 22:54
iOS/RxSwift
Observable은 구독되기 전까지는 동작하지 않다가, 구독이 이루어지면 한 번에 데이터를 방출한다. 이걸 Cold Observable이라 한다. Cold Observable은 UnitCast방식으로 동작하여, Subscriber마다 하나의 Stream이 생성이 된다. 반면 Subject와 같은 Hot Observable은 Multicast방식으로 동작하며, 하나의 Stream을 통해 데이터가 방출된다. 이 내용이 이해되지 않는 다면, 해당 포스팅을 보길 바란다. 하나의 Stream을 통해 데이터가 방출되는 Hot Observable과 달리 Subscriber마다 Stream이 생성되는 Cold Observable에서는 Stream이 여러개 생길 수 있다. 다음과 같은 함수가 있다고 가정해 보자. fu..