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)..
RxSwift에 대해 다시 복습해보자! RxSwift 란? 관찰 가능한 연속성(순차적)형태와 함수형태의 연산자를 이용해서 비동기&이벤트를 위한 코드로 구성하고 있는 라이브러리 그동안 사용하던 cocoa코드에 결정적이고 비동기적인 방법을 이용하여 이벤트에 반응할 수 있도록 함 비동기 프로그래밍이 필요한 순간들 버튼을 눌렀을 때 반응 텍스트필드에 포커스가 잡힌 경우 인터넷에서 크기가 큰 이미지 파일을 받는 경우 HTTP 통신(네트워크 통신)을 하는 경우 디스크에 데이터를 저장하는 경우 오디오를 실행하는 경우 UIKit을 통해 비동기를 사용했던 순간 사용했던 것 NotificationCenter - 백그라운드 진입 후 몇 초 있다가 메시지 알림 Delegate Pattern - TableView의 didSel..
- Total
- Today
- Yesterday
- CodingTest
- rxswift
- kakao
- Xcode
- Login
- docker
- AWS Fargate
- SwiftUI
- AWS
- MVVM
- ObservedObject
- 의미있는이름
- Swift
- frame과 bounds 차이
- tabview
- Custom
- 카메라
- enumerations
- OCR
- 곰튀김
- Protocol
- onTapGesture
- file private
- ChatGPT
- Generic
- Git
- IOS
- strcut
- navigation
- delegate
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |