今日こそ理解するhot / cold @社内rxswift勉強会
TRANSCRIPT
Hot / Cold@ RxSwift
Rx
Hot / Cold
Hot / Cold
• Hot / Cold
• Hot / Cold
• Hot / Cold
• Rx … Rx …
( ^o^)
( ^o^)
※ Bond
• Hot / Cold
RxSwift
• Hot
• Hot / Cold
• ( ) Hot / Cold
•
1
Hot / Cold Observable
Observable
Observable
• Subject • PublishSubject, BehaviorSubject, ReplaySubject …
Observable
• Subject • PublishSubject, BehaviorSubject, ReplaySubject …
• Operator • map, filter, flatMap …
• create, of, just, error …
Observable
• Subject • PublishSubject, BehaviorSubject, ReplaySubject …
• Operator ← !? • map, filter, flatMap …
• create, of, just, error …
2
Operator ( ) Observable
filter
filter
Observable
filter
filter operator
Filter
just
just
Observable
just
Just
• Hot / Cold Observable
• Subject Observable
• Operator ( ) Observable
Hot / Cold
1
Subject Hot
Subject
• PublishSubject
• BehaviorSubject
• ReplaySubject
Hot
2
Operator Cold
Hot
Hot
Hot
• multicast / publish
• replay / replayAll
• connect / refCount
• share / shareReplay
• shareReplayLatestWhileConnected
Subject Hot
Map Operator Cold
Filter Operator Cold
Subject Map Filter
↑
• Subject Hot
• Operator Cold
• publish Operator Hot ( )
Hot / Cold
Hot / Cold
Question1
Answer …
A.
Cold 1
Cold Observable subscribe
Cold subscribe
Sequence
Cold subscribe
Sequence Map
Cold subscribe
subscribe →
subscribe
subscribe
Hot 1
Hot Observable subscribe
Question2
Answer …
A.
Subject Map
Subject Map
• =
Cold subscribe
Subject Map
Subject
Question3
Answer …
A. 1, 2, 3
Subject Map Hot
Hot Cold
Hot Observable subscribe
Subject Map Hot
subscribe
• Cold Observable subscribe
• Hot Observable subscribe
• Hot Observable Cold
Hot
Hot 2
Hot Observable
Cold 2
Cold Observable
• = Observer
• Cold Observable Observer 1
• Hot Observable Observer
※ Observer
Observable
Sequence Map
Sequence Map Observer
1 subscribe
Sequence Map Observer
Map Observer
2 subscribe
1 …
Sequence Map Observer
Map Observer
Sequence Map Observer
Sequence Map Observer
Sequence Map Observer
Sequence Map Observer
2 !!
Sequence Map Observer
Sequence Map Observer
2
Hot
Hot ( )( Hot )
Hot
Hot
( Hot )
Hot
Sequence Map Hot
Hot
Sequence Map Hot Observer
1 subscribe
Hot
Sequence Map Hot Observer
Observer
2 subscribe
Hot
Sequence Map
Observer
HotObserver
Hot
Sequence Map
Observer
HotObserver
!!!
Sequence Map
Observer
HotObserver
• Cold Observable
• Hot Observable
Hot
Question4
( Hot )
Hot ( )
Answer …
A. 2, 4, 6
2 subscribe
Hot 3
Hot Observable Observer
• Observer
Cold (
)
• (Next)
subscribe
observer 1
2,4,6
Next
Cold
Cold
Sequence Map Observer
Sequence Map Observer
Cold
2
Observer
Sequence Map Observer
Sequence Map Observer
Cold
Cold 1
Cold Observable subscribe
Hot 1
Hot Observable subscribe
Hot 2
Hot Observable
Cold 2
Cold Observable
Hot 3
Hot Observable Observer
•
(
)
• Hot