Observable 특정 형태의 데이터를 전달하는 이벤트를 비동기적으로 생성할 수 있는 객체이다. Hot Observable과 Cold Observable로 구분할 수 있다. Hot Observable 이름 그대로 뜨거워서 계속 흘리고 있는 스트림 Observable 생성과 동시에 이벤트를 방출한다. 구독 여부와 상관없이 이벤트를 발생시키기 때문에 일단 동작하기 시작하면 리소스를 사용한다. 이전에 방출한 데이터에 대해서는 받을 수 없다. 여러 Observer가 데이터를 공유할 수 있다. Hot Observable에는 Subject가 있다. 예를들어 API를 호출할 때 여러 부분에서 이 결과가 필요하다면 매번 API를 호출하는 것 보다 그 결과를 공유한다면 더 효과적일 것이다. 이때 Hot Observab..
https://harryjeon.tistory.com/60 [RxSwift] 곰튀김님의 RxSwift 강의 (2) 이전 글 [RxSwift] 곰튀김님의 RxSwift 강의 (1) Subject 만들 때 부터 어떤 데이터를 내보낼지 정해져있다. Observable처럼 값을 받을 수도 있지만 (subscribe) 외부에서 값을 통제할 수도 있다. (onNext) AsyncSubje harryjeon.tistory.com 곰튀김님의 RxSwift 강의를 듣는 도중 Relay, Subject, Driver가 나왔다. 강의에서 설명을 해주셨고 정리도 해놨지만 조금 더 찾아보려고 한다. Subject PublishSubject 초기값이 없다. 다른 Observer가 Subscribe한 순간 아무런 값도 주지 않는다..

이전 글 [RxSwift] 곰튀김님의 RxSwift 강의 (1) Subject 만들 때 부터 어떤 데이터를 내보낼지 정해져있다. Observable처럼 값을 받을 수도 있지만 (subscribe) 외부에서 값을 통제할 수도 있다. (onNext) AsyncSubject completed 되는 시점에 subscribe한 애들한테 가장 마지막 값을 보내준다. BehaviorSubject 초기값을 가지고 있어서 subscribe할 때 초기값을 보내준다. 그 후 추가로 생기는 subscribe은 가장 최근의 값을 초기값으로 보내준다. PublishSubject 초기값 없이 subscribe 후 값이 들어오면 그대로 보내준다. 추가로 생기는 subscribe도 같다. ReplaySubject 첫 번째 subscr..

RxSwift ? RxSwift는 비동기적으로 생기는 데이터를 completion 같은 클로저를 통해 전달하는게 아닌 return 값으로 전달하기 위해서 만들어진 유틸리티이다. completion을 사용한 비동기 처리 방식 private func downloadJson(_ url: String, _ completion: @escaping (String?) -> Void) { DispatchQueue.global().async { let url = URL(string: url)! let data = try! Data(contentsOf: url) let json = String(data: data, encoding: .utf8) DispatchQueue.main.async { completion(json)..
- Total
- Today
- Yesterday
- IOS
- Swift
- 곰튀김
- docker
- 카메라
- ChatGPT
- Protocol
- tabview
- Login
- AWS
- strcut
- AWS Fargate
- file private
- Git
- SwiftUI
- frame과 bounds 차이
- navigation
- ObservedObject
- OCR
- kakao
- MVVM
- 의미있는이름
- rxswift
- Xcode
- CodingTest
- Custom
- Generic
- enumerations
- delegate
- onTapGesture
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |