
Rxswift 벌써 4번째 포스트다.
천천히 소화시키는 중인 듯 하지만, 마음이 너무 조급해서 체할 것 같다ㅋㅋㅋ
오늘은 헷갈리던 RxSwift의 '연산자'에 대한 사전을 만들어볼까 한다.
(사실 이 글 볼 시간에 이 링크에서 찾아보세요 ㅎ허허)
연산자는 원래 +, - 처럼 숫자를 계산하기 위해서 사용되지만,
RxSwift에서의 연산자들은 Observable 스트림에 적용된다!
그래서 그 스트림을 변형하거나, 필터링하거나, 합치거나, ...의 작업을 수행한다.
😩 Observable 스트림??이 뭐였지??
이벤트의 흐름을 말하는 키워드로, 이벤트(데이터나 상태변화)의 흐름, 시퀀스, 스트림 다 같은 말이다. 이 스트림으로 앱에서 발생하는 다양한 이벤트를 처리한다.
Observable은? 이벤트를 방출하는 객체! 이벤트를 관찰 당하는 놈이었다.
스트림은 이벤트가 방출된 순서대로 전달되어서 처리된다.
RxSwift에서 사용하는 연산자들은 다양한 카테고리로 나뉘며, 데이터 스트림을 생성, 변형, 필터링 등 다양한 방법으로 조작할 수 있다.
챗선생님한테 리스트업 시켜봤다.
just: 단일 요소를 포함하는 Observable을 생성합니다.of: 고정된 수의 요소를 포함하는 Observable을 생성합니다.from: 배열, 딕셔너리 등의 컬렉션을 Observable로 변환합니다.empty: 아무 요소도 방출하지 않는 Observable을 생성합니다.never: 아무 작업도 하지 않는 Observable을 생성합니다.error: 에러를 방출하는 Observable을 생성합니다.create: 사용자 정의 Observable을 생성합니다.deferred: 옵저버가 구독할 때마다 새로운 Observable을 생성합니다.interval: 지정된 간격으로 연속적인 정수를 방출합니다.timer: 지정된 시간이 지난 후 한 번 또는 반복해서 요소를 방출합니다.map: 각 요소를 변환합니다.flatMap: Observable을 반환하는 Observable로 변환하고, 결과를 하나의 Observable로 병합합니다.flatMapLatest: 최신 Observable만을 병합합니다.scan: 초기값을 기준으로 모든 입력값을 순차적으로 누적하여 적용합니다.buffer: 여러 값을 모아서 배열로 방출합니다.window: Observable을 여러 개의 Observable로 분할합니다.groupBy: 요소를 조건에 따라 그룹화합니다.filter: 조건을 만족하는 요소만을 방출합니다.distinctUntilChanged: 연속적으로 중복된 값을 제거합니다.take: 시작부터 지정된 수의 요소만을 방출합니다.takeLast: 마지막부터 지정된 수의 요소만을 방출합니다.skip: 시작부터 지정된 수의 요소를 건너뜁니다.debounce: 지정된 시간 동안 기다렸다가 가장 최근의 요소만을 방출합니다.throttle: 지정된 시간 동안 처음 또는 마지막 요소만을 방출합니다.elementAt: 지정된 인덱스의 요소만을 방출합니다.single: 하나의 요소만 방출하거나 조건을 만족하는 첫 번째 요소를 방출합니다.startWith: 초기값을 시작으로 요소를 방출합니다.merge: 여러 Observable에서 방출된 요소를 하나의 Observable로 병합합니다.zip: 여러 Observable의 요소를 하나로 묶어서 방출합니다.combineLatest: 여러 Observable 중 하나라도 새로운 요소를 방출하면 최신의 요소들을 결합하여 방출합니다.withLatestFrom: 두 Observable 중 하나의 최신 요소와 다른 하나의 요소를 결합합니다.switchLatest: 가장 최신 Observable의 요소만을 방출합니다.catch: 에러가 발생했을 때, 다른 Observable로 전환합니다.retry: 에러가 발생했을 때, 재시도합니다.do: Observable의 생명 주기 이벤트에 대한 부수 작용을 추가합니다.subscribe: Observable을 구독하고, 요소를 방출하거나 에러, 완료를 처리합니다.observeOn: 작업을 수행할 스케줄러를 지정합니다.subscribeOn: Observable을 구독할 스케줄러를 지정합니다.takeUntil: 다른 Observable에서 요소가 방출될 때까지만 요소를 방출합니다.skipUntil: 다른 Observable에서 요소가 방출되기 시작할 때까지 요소를 건너뜁니다.