반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- @Environment
- dismiss
- typeorm
- subject
- RxSwift
- nonisolated
- SwiftUI
- Xcode
- @State
- operator
- IOS
- init?
- swift6
- NullObject
- ios14
- @EnvironmentObject
- NavigationLink
- vim
- Creating Operators
- Operater
- init
- Bug
- SWIFT
- @Binding
- nestjs
- URL(string:)
- graphql
- RxCocoa
- Operators
- RFC1738/1808
Archives
- Today
- Total
Tunko Development Diary
Reactive Programming 란? 본문
기존 방식인 명령형 코드와 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)})
.disposed(by: disposeBag)
a.onNext(12)
// 결과
// 3
// 14
분명 위 코드보다 복잡해 보인다. 어떤것을 어떻게 사용하는지 보단 결과에 집중하자
결과는 자동으로 14로 출력되는것을 확인 할 수 있다.
a.onNext(12) 를 통해서 a에 1로 할당되있던 값을 12로 변경한것이다.
변경과 동시에 다시 재연산을하여 결과가 14로 바뀐것이다.
위에서 말한것중 자동으로 라는 설명에 집중하자. 알아서 바뀐다는거다. 얼마나 좋은가 ㅎㅎ
이것이 Reactive Programming 방식이다.
반응형
'Development > RxSwift' 카테고리의 다른 글
RxSwift) PublishSubject 란? (0) | 2022.05.30 |
---|---|
Subject 란? (0) | 2022.05.30 |
RxSwift) Operators 란? (0) | 2022.05.30 |
RxSwift) Disposables 란? (0) | 2022.05.30 |
RxSwift) Observables 과 Observers (0) | 2022.05.30 |
Comments