Swift 언어/RxSwift
1. Subject란?: Observer이자 Observable임. Observer이기 때문에 하나 이상의 Observable을 구독할 수 있으며, 동시에 Observable이기 때문에 새로운 항목(item)들을 방출하거나 재방출 할 수 있음 이해가 어려우니 간단하게 Observable과 Observer의 개념을 정리해보겠음 Observable이란, 비동기 이벤트를 관찰이 가능한 형태로 만든 것으로, 해당 이벤트가 발생했을 때, 항목(item)이란 것을 방출(emit)함.Observer란, 내가 원하는 비동기 이벤트를 방출하는 Observable이 있을 경우, 해당 Observable을 구독(Subscribe)하여, 항목이 방출되었을 때 그 항목을 받아 처리할 수 있음. 그렇다면 Observable은 어..
Observable 생성하는 방법(empty, never, range, interval, timer, defer)1. empty: 어떠한 항목(item)eh 방출(emit)하지 않고, 즉시 onCompleted()를 호출하여 정상적으로 종료되는 Observable을 생성함import UIKitimport RxSwiftclass ViewController: UIViewController { let disposeBag = DisposeBag() override func viewDidLoad() { super.viewDidLoad() test() } func test() { let observa..
Observable 생성하는 방법(just, of, from, create)1. just: 단 1개의 항목(item)만을 방출하는 Observable Sequence를 생성함import UIKitimport RxSwiftclass ViewController: UIViewController { // 구독을 끝낸 뒤 구독을 해제하기 위한 disposeBag(가방)생성 let disposeBag = DisposeBag() override func viewDidLoad() { super.viewDidLoad() test() } func test() { let observable = Observabl..
Observable 은 데이터가 흐르는 Stream이다.Observable은 데이터가 흐르는 Stream이라고 표현하기도 합니다. Observable은 일반적으로 선언하는 변수와 다르게 Stream의 성질을 갖기 때문입니다.let name = "KH"var mbti = "INTJ"이렇게 선언한 값들은 한 번 값을 가지면 그 값 자체로 의미를 갖습니다. 하지만 Observable은 계속해서 새로운 값을 "방출"해 낼 수 있습니다. 이를 구독자들은 값이 방출되었을 때, 그것에 곧바로 반응을 합니다.import UIKitimport RxSwiftclass ViewController: UIViewController { // 구독을 끝낸 뒤 구독을 해제하기 위한 disposeBag let dis..
RxSwift란?ReactiveX는 옵저버블 스트림으로 비동기 프로그래밍을 돕는 API-> ReactiveX는 비동기 프로그래밍과 옵저버 패턴을 사용하기 쉽도록 돕는 라이브러리입니다. 데이터의 변화에 반응하는 프로그래밍을 하게되어 반응형 프로그래밍이라고도 합니다. ReactiveX를 Swift에 적용한 것이 RxSwift입니다. RxSwift vs CombineCombine은 iOS 13 이상부터 지원하는 라이브러리로, 비교적 출시된지 얼마안된 기술입니다. 따라서 아직 발전 중에 있는 기술이며, 관련 자료가 RxSwift보다 적은편입니다.RxSwift는 ReactiveX의 프로그래밍 철학을 따르기 대문에, 같은 철학을 따르는 RxJava, RxPython, RxJS 등 다른 언어를 사용하는 개발자들과 ..