We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RxSwift가 머릿속에서 리셋되가꼬 다시 정리를 합니다. .
Observable = Observable Sequence = Sequence
비동기적 (Asynchronous)
Observable 들은 일정 기간 동안 계속해서 이벤트를 생성 (emit)
구성요소를 계속해서 방출시킬 수 있는 기능 (구독자에게 데이터 전달)
이벤트를 종료시킬 수 있는 기능 (구독자에게 완료되었음을 알림)
이벤트에 오류가 있음을 알고 중간에 종료시킬 수 있는 기능 (구독자에게 오류를 알림)
말 그대로 "오직" 하나의 요소를 포함하는 Sequence 생성 배열 삽입도 가능
Observable<Int>.just(1)
타입 추론을 이용하며 "Sequence"생성 순차적으로 방출
Observable<Int>.of(1, 2, 3, 4, 5) Observable.of([1, 2, 3, 4, 5]) .subscribe(onNext: { print($0) })
Array 타입만 처리하고 각각 요소들을 하나씩 emit
Observable.from([1, 2, 3, 4, 5]) .subscribe(onNext: { print($0) })
Observable.create { observer -> Disposable in observer.onNext(1) observer.onCompleted() observer.onNext(2) return Disposables.create() } .subscribe(onNext: { print($0) }, onError: { print($0) }, onCompleted: { print("completed") }, onDisposed: { print("disposed") }) .disposed(by: disposeBag)
클로저 형식이며 다양한 값(onNext, onCompleted, ...)을 생성할 수 있음
Observable 객체를 생성하고 subscribe하기 전까지는 아무런 이벤트를 방출하지 않음
반드시 !! subscribe 해야 함
아무런 이벤트를 방출하지 않음 즉시 종료 0개의 값을 가질 때 사용
Observable.empty() .subscribe { print($0) } Observable<Void>.empty() .subscribe { print($0) }
Observable.never() .debug("never") .subscribe(onNext: { print($0) }, onCompleted: { print("Completed") } )
Observable.range(start: 1, count: 9) .subscribe(onNext: { print("2*\($0) = \(2*$0)") })
구독 취소의 개념 dispose 후 이벤트가 방출되지 않음 무한한 요소일 때 필수
Observable.of(1, 2, 3) .subscribe(onNext: { print($0) }) .dispose()
구독을 하면 disposeBag에 담고 있다가 자신이 할당해제 할 때 구독자들에 대해서 DisposeBag을 날림
disposeBag을 사용하지 않는다면 메모리 누수 발생!
let disposeBag = DisposeBag() Observable.of(1, 2, 3) .subscribe(onNext: { print($0) }) .disposed(by: disposeBag)
The text was updated successfully, but these errors were encountered:
seungchan2
No branches or pull requests
RxSwift가 머릿속에서 리셋되가꼬 다시 정리를 합니다. .
Observables
Observable = Observable Sequence = Sequence
비동기적 (Asynchronous)
Observable 들은 일정 기간 동안 계속해서 이벤트를 생성 (emit)
Observable 객체의 생명주기
next
구성요소를 계속해서 방출시킬 수 있는 기능 (구독자에게 데이터 전달)
completed
이벤트를 종료시킬 수 있는 기능 (구독자에게 완료되었음을 알림)
error
이벤트에 오류가 있음을 알고 중간에 종료시킬 수 있는 기능 (구독자에게 오류를 알림)
Observable.just()
말 그대로 "오직" 하나의 요소를 포함하는 Sequence 생성
배열 삽입도 가능
Observable.of()
타입 추론을 이용하며 "Sequence"생성
순차적으로 방출
Observable.from()
Array 타입만 처리하고 각각 요소들을 하나씩 emit
Obervable.create()
클로저 형식이며 다양한 값(onNext, onCompleted, ...)을 생성할 수 있음
subscribe
Observable 객체를 생성하고 subscribe하기 전까지는 아무런 이벤트를 방출하지 않음
반드시 !! subscribe 해야 함
Observable.empty()
아무런 이벤트를 방출하지 않음
즉시 종료
0개의 값을 가질 때 사용
Observable.never()
Observable.range(start: , count: )
dispose
구독 취소의 개념
dispose 후 이벤트가 방출되지 않음
무한한 요소일 때 필수
disposeBag
구독을 하면 disposeBag에 담고 있다가 자신이 할당해제 할 때 구독자들에 대해서 DisposeBag을 날림
disposeBag을 사용하지 않는다면 메모리 누수 발생!
The text was updated successfully, but these errors were encountered: