clamp
Clamp
clamp
글쓰기 관리
전체 방문자
오늘
어제
  • 분류 전체보기 (509)
    • IOS (85)
    • SwiftUI+TCA+Combine (9)
    • RxSwift + MVVM (56)
    • Clean Architecture (12)
    • SWIFT (56)
    • iOS - TDD (2)
    • 디자인패턴 (4)
    • CS (56)
      • 알고리즘 (29)
      • 운영체제 (15)
      • 자료구조 (2)
      • 네트워킹 (4)
      • 기타 (6)
    • 회고 (0)
    • Firebase (18)
    • SwiftUI (10)
    • iOS - UIKit (11)
    • iOS - 오픈소스 (6)
    • 코딩테스트 (166)
      • 프로그래머스 (164)
    • 정보처리기사 (14)
    • GitHub (2)
글쓰기 / 관리자

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Swift
  • Q
  • ㅅ
  • uikit

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
clamp

Clamp

RxSwift + MVVM

RxSwift(7). Operators(연산자)

2023. 2. 16. 17:59

RxSwift가 제공하는 여러가지 타입중에서 ObservableType이란 프로토콜이 있다

여기엔 RxSwift의 근간을 이루는 다양한 메서드들이 선언되어 있다.

 

새로운 Observable을 생성하는 메서드, 방출되는 요소를 필터링 하거나, 여러 Observable을 하나로 합치는 메서드도 있다.

RxSwift에선 이런 메서드들을 연산자라고 부른다.

 

Operators는 여러 특징이 있다.

대부분의 연산자는 Observable상에서 동작하고, 새로운 Observable을 리턴한다.

Observable을 리턴하기 때문에 두개 이상의 연산자를 연달아 호출할 수 있다.

let bag = DisposeBag()

Observable.from([1, 2, 3, 4, 5, 6, 7, 8, 9])
    //여기
    .subscribe { print($0) }
    .disposed(by: bag)

연산자는 보통 subscribe 앞에서 호출한다.

그래야 구독자로 전달되는 최종 데이터가 우리가 원하는 데이터가 된다.

 

Observable.from([1, 2, 3, 4, 5, 6, 7, 8, 9])
    .take(5)
    .subscribe { print($0) }
    .disposed(by: bag)
//next(1)
//next(2)
//next(3)
//next(4)
//next(5)
//completed
    take연산자는 sourceObservable이 방출하는 요소중에서 파라미터로 지정한 개수만큼 방출하는
    새로운 Observable을 생성한다
    쉽게 말해 5개의 요소만 전달.
Observable.from([1, 2, 3, 4, 5, 6, 7, 8, 9])
    .take(5)
    .filter{ $0.isMultiple(of: 2)}
    .subscribe { print($0) }
    .disposed(by: bag)
//next(2)
//next(4)
//completed
filter 연산자로 필터링할 수 있다

연산자는 필요에 따라 얼마든지 연결해서 사용 가능하다.

하지만 순서에 유의해야한다.

저작자표시 비영리 동일조건 (새창열림)
    'RxSwift + MVVM' 카테고리의 다른 글
    • RxSwift(9). PublishSubject
    • RxSwift(8). Subject
    • RxSwift(6). Disposables
    • RxSwift(5). infallible
    clamp
    clamp
    주니어 iOS개발자의 발악!!!!!!!

    티스토리툴바