RxSwift is the Swift-specific implementation of the Reactive Extensions standard. RxSwift는 Reactive Extensions 표준의 Swift 전용 구현입니다.

주요 구성 요소

퀘스트

**상황:**
1. 오직 한 방향으로만 흐르는 강(stream)이 있습니다.
2. 물고기(value)는 강(stream)의 흐름방향으로 흘러갑니다.
3. 강에는 가끔 쓰레기(value)도 흘러갑니다.

**목표:**
'river'라는 강에서 물고기를 건져, 회를 뜬 다음, 팔아야 합니다.

**당신이 한 일:**
강에서 자동으로 물고기만 건져(filter) 회로 변환(map)하는 'A' 시스템을 만들었습니다.
이 시스템은 사용자가 버튼을 누를 시(subscribe) 가동됩니다.

구현

import RxSwift
 
let disposeBag = DisposeBag()
 
let value = ["물고기", "쓰레기"] // 강에 흐르는 value
let river = Observable.from(value) // Observable: value가 흐르는 'river' 강
    
river
    .filter { $0 == "물고기" } // Operators: 물고기만 건짐
    .map { "\\($0) 회" } // Operators: 물고기를 회로 만듦
    .subscribe { print($0.element ?? "") } // Subscribe: 'river' 강을 구독
    .disposed(by: disposeBag)
    
// 결과: 물고기 회

프로젝트에 임포트 하기

Using CocoaPods

  1. 터미널 실행
  2. 프로젝트 경로로 이동
  3. pod init
  4. vi podfile