Rxswift에서 많이 나오는 단어들을 정리해봤어요.
모두 귀납하면, 양이 많기 때문에, 나는 개인적으로 자주 보는 단어를 쓴다!
RxSwift 소개
Rx는 Reactive Extensions의 약자로 비동기적 처리와 이벤트 처리 등을 선언적으로 기술할 수 있는 프로그램 라이브러리다.그 Rx를 스위프트 버전으로 발표한 게 Rxswift야.스위프트 외에도 다양한 언어가 준비돼 있다.사이트 축소판 그림
또 FRP(Functional Reactive Programing) 중 하나로 FRP의 예로 코드로 표시한다면 다음과 같다.a = 1
b = 2
c = a + b
a = 2
print(c)
//3ではない
// 出力は4になる
이것은 선언적으로'a+b'의 관계를 기술함으로써 당시의'a+b'가 아닌 결과의 값으로 선포했기 때문에 이후에 변경된 값으로 계산한다.
[Swift] RxSwift 이해.
이미지상 엑셀 같은 동작은 이해하기 쉽다.
a 또는 b의 값 변화를 감시하고 변화가 발생하면 c처리를 실행하는 이미지를 터치하는 것이 FRP의 예이다.
RxSwift의 특징
장점
• 코드가 전체적으로 일치
• 간결하게 글을 쓸 수 있고 비동기적으로 처리할 수 있다
/호출 횟수 감소
결점
• 학습 원가가 높다
• 상황에 따라 코드량이 많다
자주 나오는 단어를 정리해 봤어요.
Observalble
이름은'감시 가능'이지만 사건 등을 감지하기 위한 학급이다.
다음 3가지 활동을 공지합니다.
활동이 발생하면 안 됩니다.
타입
설명
onNext
일반적인 이벤트에 공지합니다.여러 번 발송 가능합니다.
onError
오류가 발생했음을 알립니다.한 번만 부르고 끝났어.
onCompleted
완료 통지.그때 끝내.
subscribe(구독)
subscribe는 onNext 등의 사용을 알리는 방법입니다.subscribe를 작성하면 Observable에 구독할 수 있으며, 이벤트가 발생할 때마다subscribe에서 onNext의 처리를 실행합니다.번거롭지만 그 처리는 Observer라고 해서 Observalble와 틀리기 쉽다.
사용 방법은 다음과 같다.let disposeBag = DisposeBag() //下に説明あり
let observable textField.rx.tap.asObservable()
let observable = Observable.of("1","2","3")
_ = observable
.subscribe(onNext: {
print($0))
}, onError: { _ in
print("error")
}, onCompleted: {
print("終了")
}).disposed(by: disposeBag)
disposebag
subscribe(onNext 등)를 하면 언제까지 해제되지 않아 기억 유출 등을 일으킬 수 있다.
따라서 디스커버리에 로그인하면 이 벽장을 떠날 때 디스커버리가 열리기 때문에 그 시기에 구독 처리가 해제됩니다.
구독했다면 이 문제를 풀기 위해 해제(disposeBag)라고 적으면 아마 틀리지 않을 거예요.
subject
Subject에는 Observable과 Observer 두 가지 기능이 있습니다.
subscrive가 구독할 수 있는 Observable 기능을 하면 onNext 등 이벤트가 발생할 수 있습니다.
대표적인subject 세 개를 소개합니다.
카테고리
설명
PublishSubject
subscribe 이후의 이벤트만 재생하고 과거 값도 재생하지 않습니다
BehaviorSubject
subscribe일 때 과거의 이벤트를 받아들일 수 있습니다. (최초subscribe일 때 초기값입니다.)
ReplaySubject
Subject는 subscribe에서 지정한 bufferSize 부분의 과거 이벤트를 받아들일 수 있습니다.
참조하게 해주세요!
https://qiita.com/KentaKudo/items/4d7154c3dada93f11492
Relay
오류를 재생하지 않고 comple의subject를 재생하지 않습니다.Next 스트림만 허용됩니다.
PublishRelay는 PublishSubject의 wrapper입니다.
BehaviorRelay는 BehaviorSubject의 wrapper입니다.
operator
이벤트를 가공하는 방법은operator(조작원)라고 합니다.
이벤트의 각 요소를 다른 요소로 바꾸는 맵과 지정된 조건만 통해 진짜 이벤트로 바꾸는 필터 등이 자주 사용된다.
operator는 여러 종류가 있는데 아래 사이트에서 총결산할 수 있습니다!
RxSwift 기능 카탈로그
Reference
이 문제에 관하여(Rxswift에서 많이 나오는 단어들을 정리해봤어요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/dddisk/items/813410f03bd4e93ed63e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
a = 1
b = 2
c = a + b
a = 2
print(c)
//3ではない
// 出力は4になる
장점
• 코드가 전체적으로 일치
• 간결하게 글을 쓸 수 있고 비동기적으로 처리할 수 있다
/호출 횟수 감소
결점
• 학습 원가가 높다
• 상황에 따라 코드량이 많다
자주 나오는 단어를 정리해 봤어요.
Observalble
이름은'감시 가능'이지만 사건 등을 감지하기 위한 학급이다.
다음 3가지 활동을 공지합니다.
활동이 발생하면 안 됩니다.
타입
설명
onNext
일반적인 이벤트에 공지합니다.여러 번 발송 가능합니다.
onError
오류가 발생했음을 알립니다.한 번만 부르고 끝났어.
onCompleted
완료 통지.그때 끝내.
subscribe(구독)
subscribe는 onNext 등의 사용을 알리는 방법입니다.subscribe를 작성하면 Observable에 구독할 수 있으며, 이벤트가 발생할 때마다subscribe에서 onNext의 처리를 실행합니다.번거롭지만 그 처리는 Observer라고 해서 Observalble와 틀리기 쉽다.
사용 방법은 다음과 같다.let disposeBag = DisposeBag() //下に説明あり
let observable textField.rx.tap.asObservable()
let observable = Observable.of("1","2","3")
_ = observable
.subscribe(onNext: {
print($0))
}, onError: { _ in
print("error")
}, onCompleted: {
print("終了")
}).disposed(by: disposeBag)
disposebag
subscribe(onNext 등)를 하면 언제까지 해제되지 않아 기억 유출 등을 일으킬 수 있다.
따라서 디스커버리에 로그인하면 이 벽장을 떠날 때 디스커버리가 열리기 때문에 그 시기에 구독 처리가 해제됩니다.
구독했다면 이 문제를 풀기 위해 해제(disposeBag)라고 적으면 아마 틀리지 않을 거예요.
subject
Subject에는 Observable과 Observer 두 가지 기능이 있습니다.
subscrive가 구독할 수 있는 Observable 기능을 하면 onNext 등 이벤트가 발생할 수 있습니다.
대표적인subject 세 개를 소개합니다.
카테고리
설명
PublishSubject
subscribe 이후의 이벤트만 재생하고 과거 값도 재생하지 않습니다
BehaviorSubject
subscribe일 때 과거의 이벤트를 받아들일 수 있습니다. (최초subscribe일 때 초기값입니다.)
ReplaySubject
Subject는 subscribe에서 지정한 bufferSize 부분의 과거 이벤트를 받아들일 수 있습니다.
참조하게 해주세요!
https://qiita.com/KentaKudo/items/4d7154c3dada93f11492
Relay
오류를 재생하지 않고 comple의subject를 재생하지 않습니다.Next 스트림만 허용됩니다.
PublishRelay는 PublishSubject의 wrapper입니다.
BehaviorRelay는 BehaviorSubject의 wrapper입니다.
operator
이벤트를 가공하는 방법은operator(조작원)라고 합니다.
이벤트의 각 요소를 다른 요소로 바꾸는 맵과 지정된 조건만 통해 진짜 이벤트로 바꾸는 필터 등이 자주 사용된다.
operator는 여러 종류가 있는데 아래 사이트에서 총결산할 수 있습니다!
RxSwift 기능 카탈로그
Reference
이 문제에 관하여(Rxswift에서 많이 나오는 단어들을 정리해봤어요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/dddisk/items/813410f03bd4e93ed63e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
let disposeBag = DisposeBag() //下に説明あり
let observable textField.rx.tap.asObservable()
let observable = Observable.of("1","2","3")
_ = observable
.subscribe(onNext: {
print($0))
}, onError: { _ in
print("error")
}, onCompleted: {
print("終了")
}).disposed(by: disposeBag)
Reference
이 문제에 관하여(Rxswift에서 많이 나오는 단어들을 정리해봤어요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/dddisk/items/813410f03bd4e93ed63e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)