Swift/RxSwift(5)
-
How to run tests in RxSwift 및 적용해보기
How to run tests in RxSwift 아래 내용은 밑의 참고 링크를 일부 번역하고 약간 변형을 주어 공부한 내용입니다. 번역에 오류가 있거나 이해한 것이 틀릴 수 있습니다. 참고 - How to run tests in RxSwift RxTest와 RxBlocking의 경우 RxSwift 레포지토리 중 일부이지만 분리 되어있기 때문에 따로 불러 올 필요가 있습니다. SPM을 사용했을 경우 RxSwift와 RxCocoa만을 import했다면 추가적으로 불러와서 사용해야합니다. RxTest 의 경우 Rx코드를 테스팅 하는데 매우 유용한 추가기능을 제공합니다. 특히, TestScheduler의 경우 가상의 시간을 설정하여 특정 시간마다 이벤트를 발생 시킬 수 있습니다. RxBlocking 의 경우 ..
2023.11.28 -
Creating your own Observable (aka observable sequence) && Creating an Observable that performs work
RxSwift/Documentation/GettingStarted.md at main · ReactiveX/RxSwift 해당 내용은 RxSwift의 공식 깃허브의 내용을 바탕으로 작성한 글입니다. 번역이나 이해가 부족하여 틀린 내용이 있을 수 있습니다. Creating your own Observable observables를 이해하는데 가장 중요한 것은 단순히 생성만으로는 어떠한 수행도 하지 않는다는 것이다. Observable은 요소들을 생성할 수 있는 방법이지만, 이들 중 일부분은 부작용을 일으키는것뿐만 아니라, 현재 존재하여 실행되는 프로세스한테도 영향을 끼친다. func searchWikipedia(searchTerm: String) -> Observable {} let searchForMe ..
2023.09.08 -
Disposing && Implicit Observable guarantees
Disposing Disposing 관찰되고 있는 시퀀스(Observed Sequence)가 종료되도록 하는 방법 중 하나이다. 시퀀스가 끝난 후 모든 자원을 해제할 때, subscription에 대한 dispose(처분)을 할 수 있다. 아래 예시는 interval 연산자를 사용한 하나의 예시이다. let scheduler = SerialDispatchQueueScheduler(qos: .default) let subscription = Observable.interval(.milliseconds(300), scheduler: scheduler) .subscribe { event in print(event) } Thread.sleep(forTimeInterval: 2.0) subscription.dis..
2023.09.07 -
Observables aka Sequences
RxSwift/Documentation/GettingStarted.md at main · ReactiveX/RxSwift 해당 내용은 RxSwift의 공식 깃허브의 내용을 바탕으로 작성한 글입니다. 번역이나 이해가 부족하여 틀린 내용이 있을 수 있습니다. Basics 옵저버 패턴(Observable sequence)와 일반적인 시퀀스는 Rx를 이해하는데 매우 중요한 요소입니다. 모든 Observable 시퀀스는 정말로 시퀀스입니다. (Observable == Sequence) 스위프트 Sequence와 Observable은 비동기적으로 요소들을 받을 수 있습니다. Observable(ObservableType)은 Sequence와 동일하다. ObservableType.subscribe의 메소드는 Sequ..
2023.09.05 -
RxSwift 왜 사용할까?
RxSwift/Documentation/Why.md at main · ReactiveX/RxSwift 해당 내용은 RxSwift의 공식 깃허브의 내용을 바탕으로 작성한 글입니다. 번역이나 이해가 부족하여 틀린 내용이 있을 수 있습니다. Why Rx는 선언형을 통해 앱을 구축할 수 있습니다.(기존 UIKit을 사용한 방식은 명령형 방식) Bindings 특정 textField의 글자를 합쳐서 UILabel에 Rx는 다음과 같이 작성할 수 있다. Observable.combineLatest(firstName.rx.text, lastName.rx.text) { $0 + " " + $1 } .map { "Greetings, \($0)" } .bind(to: greetingLabel.rx.text) UILabel..
2023.08.31