일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- swift6
- IOS
- init
- @Binding
- RxCocoa
- URL(string:)
- init?
- @Environment
- graphql
- nonisolated
- subject
- NullObject
- operator
- RxSwift
- ios14
- SWIFT
- Creating Operators
- Xcode
- nestjs
- typeorm
- @EnvironmentObject
- Operators
- dismiss
- vim
- @State
- Operater
- Bug
- NavigationLink
- SwiftUI
- RFC1738/1808
- Today
- Total
목록Tunko room (147)
Tunko Development Diary
ReactiveX - Subject Subject는 옵저버블의 기능과 옵저버의 기능을 같이 가지고 있습니다. 옵저버블은 옵저버에게 이벤트를 방출합니다. 옵저버는 옵저버블을 구독합니다. 하지만 옵저버가 이벤트를 방출 할 수 없고 옵저버블또한 옵저버를 구독할 수 없습니다. 이것을 가능하게 하는 두가지의 기능을 함께 가지고있는게 Subject입니다. Subject의 종류 및 특징 PublishSubject Subject로 전달되는 이벤트를 구독자로 전달합니다. BehaviorSubject 생성 시점에 시작 이벤트를 지정합니다. 전달받은 이벤트중에 가장 마지막 이벤트를 저장해 두었다가 새로운 구독자에게 최신이벤트로 방출합니다. ReplaySubject 하나 이상의 최신 이벤트를 버퍼에 저장합니다. 옵저버가 구독..
ReactiveX - Operators 연산자란? 연산자는 대부분 옵저버블 상에서 동작하고 새로운 옵저버블을 리턴합니다. 아래 예제에서 사용되는 from 연산자의 레퍼런스를 확인하면 -> Observable 을 리턴합니다. static func from(_ array: [Int], scheduler: ImmediateSchedulerType = CurrentThreadScheduler.instance) -> Observable 따라서 연산자 뒤에 또다른 연산자를 이어서 사용할 수 있습니다. 연산자는 옵저버블이 데이터를 방출하기전에 해줍니다. 옵저버블이 데이터를 방출하는 시점은 옵저버가 구독하는 시점. 즉 .subscribe 하기전에 해줍니다. subscribe는 최종적으로 데이터가 방출되는 결과라고 생각..
요약 Disposable 의 기능은 리소스 해제, 실행취소 Subscription Disposable 라고도 불립니다. DisposeBag 사용방법 옵저버블의 실행을 취소하고 리소스를 정리하는 방법 Observable.from([1,2,3]) .subscribe { elem in print("Next", elem) } onError: { error in print("Error", error) } onCompleted: { print("onCompleted") } onDisposed: { print("Disposed") } // 결과 Next 1 Next 2 Next 3 onCompleted Disposed Disposed는 옵저버블이 전달하는 이벤트는 아닙니다. 옵저버블과 관련된 모든 리소스가 해제된 후..
Observable 은 Observale Sequence 또는 Sequence 라고 불리기도 한다. Observable → Event → Observar 옵저버블은 옵저버에게 이벤트를 전달합니다. Observable ← Subscribe ← Observar(subscriber) 옵저버는 옵저버블을 구독합니다. Observable을 Observer가 감시하는걸 구독한다고 합니다. 따라서 subscriber(구독자) 라고 불리기도 합니다. 옵저버블이 보내는 이벤트는 3가지 입니다. Next (Emission : 방출, 배출) Error Completed Error, Completed는 마지막에 전달됩니다. Error, Completed는 Emission이 아닌 Notification이라고 부릅니다. RxMa..
기존 방식인 명령형 코드와 Rx방식인 반응형 코드 비교 var a = 1 var b = 2 var c = a + b print(c) // 결과 3 a = 12 print(c) // 결과 3 이곳 마지막에 a = 12 를 넣었다. 하지만 c에 대한 값은 3으로 고정되어있다. 당연하다. 하지만 변수의 값의 변경에 따라 자동으로 결과를 바꾸고 싶다. 이때 사용하는것이 Rx다. Reactive Programming 반응형 프로그래밍 방식이 필요하다. let a = BehaviorSubject(value: 1) let b = BehaviorSubject(value: 2) Observable.combineLatest(a, b) { $0 + $1 } .subscribe(onNext: {print($0)}) .disp..