그냥 쉬운 개념인데, 자꾸 까먹어서 정리합니다. Rx에서는 흐름을 구독하는 부분에 두가지 방법이 있습니다. Hot과 Cold. Hot은 만들어지는 순간 부터 아이템을 발행하기 시작합니다.Cold는 만들어지고 구독되는 순간 부터 아이템을 발행하기 시작합니다. 이게 다입니다. ㅎㅎㅎ 그러므로 사용되는 시점에 따라서 잘 이용을 하여야 할것 같네요. 연관된거로는 Behavior, Publish를 찾아보시면 객체에 따라서 방출되는 방법이 다릅니다. 그럼 즐코딩.
RxSwift로 흐름에 따라 값의 변화에 따라서 처리를 하고 이것을 자연스럽게 합쳐서 사용할 수 있습니다. 이번에는 Combine 할수 있는 함수들을 알아보도록 하겠습니다. 1. combineLatest 12345678let first = Observable.of(1, 2, 3, 4)let second = Observable.of(100, 200, 300, 400) Observable.combineLatest(first, second) { first, second -> String in return "\(first), \(second)"}.subscribe(onNext: { text in print("text = \(text)")}).disposed(by: disposeBag)Colored by Colo..
Observable의 타입을 변경하거나 출력 결과를 다르게 하고 싶을 경우에 사용하는 방법에 대해서 알아보도록 하겠습니다. 1. buffer 1234Observable.of(1,2,3).buffer(timeSpan: 3, count: 2, scheduler: MainScheduler.instance) .subscribe(onNext: { value in print("value = \(value)") }).disposed(by: disposeBag)Colored by Color Scriptercs 말 그대로 이벤트를 버퍼에 저장한 뒤 묶어서 방출하는 방식입니다. timeSpan : 버퍼에 저장되는 시간 간격count : 버퍼에 저장되는 최대 이벤트 수 출력 결과는 12value = [1, 2]value =..
RxSwift의 메모리 관리에 대해서 이야기해보려고 합니다. 우리가 프로그램을 만들면 모든 메모리는 무한정 사용할 수 있는것이 아닙니다. 그래서 메모리를 관리를 해줘야하는데요. 일반적으로 객체를 만들고 그것을 다 사용하고 해제가 된다고 생각되면 deinit이 발생하고 그곳에서 객체의 마지막을 정리해주면 됩니다. RxSwift를 짜는 개념상 메모리에 붕붕 떠서 다닐수 밖에 없는 상태가 생깁니다.예를 들자면 다음과 같은 코드를 보시죠. 12345observable .map { $0.isEmpty } .subscribe(onNext: { // brabra })cs 이렇게 선언한 녀석은 return으로 Disposable을 생성합니다. Disposable은 어떻게 되어 있느냐... 123public protoc..
이전에 발생한 이벤트와 다른 이벤트가 발생할 경우에 나머지 흐름을 처리하도록 하는 operator 입니다. distinctUntilChanged() 혹은 distinctUntilChanged(_ comparer: @escaping (Self.E, Self.E) throws -> Bool) 등등 다양한 조건을 사용할 수 있도록 되어 있습니다. 아래와 같은 부분은 아주 간단하게 사용할수 있으며, Equtable을 구현하여 두었기 때문에 아주 편하게 동작을 하게 됩니다. 12Observable.of("A", "A", "B", "C") .distinctUntilChanged()cs * 출력은 A, B, C로 나오게 됩니다. 그럼 위에 말한 distanctUntilChanged는 어떻게 사용을 하면 되는가에 대해..
- Total
- Today
- Yesterday
- golang
- docker
- centos8
- Windows
- ubuntu
- Spring
- php
- Xcode
- Java
- Gradle
- ios
- Linux
- Codable
- Python
- github
- go
- MySQL
- cocoapods
- Kotlin
- tomcat
- SWIFT
- nodejs
- rxswift
- war
- android
- enum
- git
- windows10
- CentOS
- intellij
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |