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
Observable
Observer
just
of
from
create
Observable<Int>.create { observer in observer.onNext(1) observer.dispose() }
Observable<String>.create({ (observer) -> Disposable in observer.onNext("1") observer.onCompleted() return Disposables.create() })
Observer가 Observable에 연결하는 것(Observer입장에서 Observable의 emit을 발생하게끔 하는 것)
onNext
onError
onCompleted
Single
Maybe
Completable
success와 completed차이 : 파라미터 유무 .success(value) .completed
let disposeBag = DisposeBag() // 2 enum FileReadError: Error { case fileNotFound, unreadable, encodingFailed } // 3 func loadText(from name: String) -> Single<String> { // 4 return Single.create{ single in // 4 - 1 let disposable = Disposables.create() // 4 - 2 guard let path = Bundle.main.path(forResource: name, ofType: "txt") else { single(.error(FileReadError.fileNotFound)) return disposable } // 4 - 3 guard let data = FileManager.default.contents(atPath: path) else { single(.error(FileReadError.unreadable)) return disposable } // 4 - 4 guard let contents = String(data: data, encoding: .utf8) else { single(.error(FileReadError.encodingFailed)) return disposable } // 4 - 5 single(.success(contents)) return disposable } }
loadText(from: "Copyright") .subscribe{ switch $0 { case .success(let string): print(string) case .error(let error): print(error) } } .disposed(by: disposeBag)
The text was updated successfully, but these errors were encountered:
Sorry, something went wrong.
No branches or pull requests
Observable과 Observer
Observable
: 관측(subscribe) 당하는 대상Observer
(=subscriber) : Observable을 구독하는 주체Observable의 이벤트 생성
just
: 오직 하나의 요소만을 포함하는 이벤트 생성of
: 주어진 값들을 타입추론하여 Observable sequence 생성. 한개 또는 여러개 가능. Array의 경우 하나의 값으로 인식from
: Array만 연산자로 취한다. Array의 값들을 하나하나 방출 하게 해줌create
: 클로저 형식으로 다양한 값 생성 가능Subscribe Method 3가지
Observer가 Observable에 연결하는 것(Observer입장에서 Observable의 emit을 발생하게끔 하는 것)
onNext
: 최신 이벤트를 방출onError
: 에러 발생. 이벤트 발생 종료됨. (onNext, onCompleted 더이상 사용 불가)onCompleted
: 정상 종료Observable의 Traits
Single
: success, error (파일 쓰기, 파일 다운로드, 데이터 로딩)Maybe
: success, completed, errorCompletable
: .completed, error (일의 끝, 오류 판단)The text was updated successfully, but these errors were encountered: