일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- SeSAC
- Swift Tuist
- Tuist Swift
- arc
- GCD
- swift
- ios database
- combinecocoa
- observable
- realm
- swift db
- KeyPath
- SwiftUI
- Subscribe
- 네트워크 통신
- ribs
- 카카오뱅크 ios
- uitableviewdiffabledatasource
- swift 5.9
- xcode
- Combine
- Tuist
- swift database
- swift 6
- Firebase
- ios
- JSON
- Firebase Analytics
- RxSwift
- Subject
- Today
- Total
목록Subject (2)
천원의 개발

안녕하세요. 천원입니다. Combine을 학습하면서 중요한 개념 중 하나인 Subject 정리하고자 글을 작성합니다. 1. Subject Publisher를 채택하고 있는 모습입니다. 덕분에 스트림을 생성할 수 있고, Subscriber를 통해서 방출한 이벤트를 받아올 수 있습니다. 다른 Publisher 들과 가장 큰 차이점은 send() 메서드를 사용해서 외부에서 이벤트를 주입시킬 수 있다는 점입니다. 예시 코드를 보자면 var subject = PassthroughSubject() // Subject 생성 subject.sink { value in print(value) } subject.send(2) // 2출력 원하는 시점에서 이벤트 방출이 가능하죠. 2. PassthroughSubject, C..

Observable vs Subject Observable은 이벤트를 방출 하는 역할을 담당하고 Observable을 구독하는 Observer는 이벤트를 받아서 처리 하는 역할을 담당합니다. 그런데 Observable은 새로운 값을 추가 할 수 없습니다. 그래서 새로운 값을 추가 하고 그것을 방출할 수 있는 객체가 바로 Subject입니다. Subject문서를 확인해 보면 Observable을 상속받고 있으며 ObserverType Protocol을 채택 하는 모습을 확인할 수 있습니다. 그래서 Subject는 Observable의 역할과 Observer 역할을 둘 다 수행할 수 있는 겁니다. 이번에는 ObserverType을 확인해 보면 on 함수가 있는데 이 on함수를 통해서 Observer로 이벤트..