RxSwift 시작하기 RxSwift란? RxSwift is a library for composing asynchronous and event-based code by using observable sequences and functional style operators, allowing for parameterized execution via schedulers. By Marin Todorov. ‘RxSwift — Reactive Programming with Swift.’ RxSwift는 코드를 새로운 데이터에 반응하며 순차적으로 처리하게 함으로써 비동기 프로그래밍을 쉽게하도록 도와준다. UIKit에서의 비동기 프로그래밍 대부분의 Class에서는 비동기로 작업을 수행하고 모든 UI 구성은 기본적으로..
Realm Realm: 대용량 DB 버전 호환성 iOS 8 이상 Xcode 7.3 이상 Xcode 14 이상 사용시 ios 11이상 장점: SQLite와 CoreData보다 작업 속도가 빠르다. Realm Studio를 통해서 DB 상태를 편하게 확인할 수 있다. 직관적인 코드로 작업할 수 있다. Rx를 지원하는 RxRealm이 존재한다. 높은 용량을 요구하고 보통 대용량 데이터를 다룰 때 사용한다고 한다. 단점: 바이너리 용량이 늘어남 main thread 이용하고 있는데 다른 thread 접근하면 에러남. 그래서 사용할 때 스레드 지정해줘야 함 다양한 쿼리를 지원하지 않음 iOS8부터 지원가능 Realm이란?? Realm은 모바일에 특화된 NoSQL 데이터 베이스로 Swift, Objective-C,..
RxSwift Transforming Operators Transforming Operators Observable을 변형하는 Operator .toArray() Observable의 독립적 요소들을 array로 넣는 가장 편리한 방법은 toArray를 사용하는 것이다. let disposeBag = DisposeBag() Observable.of("A", "B", "C") .toArray() .subscribe(onNext: { print($0) }) .disposed(by: disposeBag) 요녀석은 array로 바뀐다고했다. 출력은 요렇게! ["A", "B", "C"] .map() RxSwift의 map 연산자는 Observable 에서 동작한다는 점만 제외하면 Swift 표준 라이브러리의 ma..
RxSwift Operators Operator란? Operator는 Rx의 기본요소이다. Operator를 사용해 Observable에 의해 방출 되는 이벤트를 변환하고 처리하여 대응할수 있다. Operator는 크게 세 그룹으로 나뉘며 다음과 같다 Filtering Operator Transforming Operator Combining Operator Filtering Operators filtering operator를 사용해 .next이벤트를 통해 받아오는 값을 선택적으로 취하할 수 있다.(원하는놈만 걸러서 가져올수있다.) 기존 Swift의 filter(_:)와 비슷하다. 1. .ignoreElements() https://rxmarbles.com/#ignoreElements ignoreElem..
곰튀김님의 RXSwift 1교시 RxSwift는 Swift에 ReactiveX를 적용시켜 비동기 프로그래밍을 직관적으로 작성할 수 있도록 도와주는 라이브러리입니다. RXSwift의 용도는 비동기로 처리되는 작업을 completionHandler(클로저)로 전달하는게 아니라 리턴값으로 전달하기위해 만들어진 유틸리티다! RXSwift를 사용하기 위해서는 아래의 방법들을 익혀야한다! 비동기로 생기는 데이터를 Observable로 감싸서 리턴하는 방법 Observable로 오는 데이터를 받아서 처리하는 방법 Observavle RxSwift에서 사용되는 Observavle 는 아래의 예시코드 형태로 구현되어있다. 위에서 설명한 비동기로 처리되는 작업을 클로저로 전달하지 않고 리턴값으로 전달하기 위해 사용된다! ..