본문 바로가기
728x90

iOS/RxSwift5

Action 이벤트는 버튼 탭, 타이머 작동, 제스처 등 데이터를 전달하거나 수행해야 할 작업에 대한 신호를 받아 결과를 보여주는 개체 중에는 Action이 존재한다. inputs 관찰자 제공 Observable를 통해 황성 상태를 확인 관찰 가능한 작업의 factory closure를 호출 모든 작업 결과의 observable sequence 노출 관찰 중인 작업의 오류 처리 Action은 Action로 정의된 일반 클래스 이다. 일부 Observable 을 입력으로 사용하는 WorkFactory를 받아들이는 값을 나타내며 출력으로 Observable를 생성한다. Input: 작업에 제공되는 입력 데이터 Element: 관찰 가능한 결과 참고: 1) RxSwift document 2) https://www.kode.. 2024. 1. 2.
Button 기존 Swift와 Objective-C 에서는 버튼을 보통 Action을 연결하고 필요한 코드를 구현하지만, RxSwift에서는 RxCocoa가 추가한 탭 속성을 구독하거나 1)액션 속성의 Action을 직접 할당하는 방식으로 구현한다. 1) Action의 rx.action 속성을 통해 버튼에 동작을 할당하게 된다. 2023. 12. 21.
기본 Observable: 이벤트를 비동기적으로 처리하고 실시간 관찰 Operator: Observable에 의해 방출되는 이벤트를 변환,처리 Schedulers: DispatchQueue와 같음 Subscribe: 생성된 Observable을 실행 시킨다. let observable = Observable.of(1,2,3) observable.subscribe({ event in print(event) }) /* Prints: next(1) next(2) next(3) completed */ 위 코드를 다음과 같이 사용할 수도 있다. let observable = Observable.of(1,2,3) .subscribe(onNext: { num in print(num) }, onCompleted: { pri.. 2023. 11. 23.
TableView 기본적인 테이블뷰 구현 방법 RxSwift에서는 옵저버블과 테이블뷰를 바인딩 하는 방식으로 데이터를 표시해주기 때문데 테이블뷰의 datasorce와 delegate를 연결해줄 필요가 없다. import UIKit import RxSwift import RxCocoa class MyTableViewViewController: UIViewController { @IBOutlet weak var table: UITableView! let priceFormatter: NumberFormatter = { let f = NumberFormatter() f.numberStyle = NumberFormatter.Style.currency f.locale = Locale(identifier: "Ko_kr") return.. 2023. 3. 2.
distinctUntilChanged(compare: ) let numbers = [1, 1, 2, 4, 4, 3, 5, 7, 1] Observable.from(numbers) .distinctUntilChanged { !$0.isMultiple(of: 2) && !$1.isMultiple(of: 2) } .subscribe { print($0) } .disposed(by: disposeBag) next(1) next(2) next(4) next(4) next(3) completed 과정 1 -> 1 1 1 true true 1 2 true false -> 2 2 4 false false -> 4 4 4 false false -> 4 4 3 false true -> 3 3 5 true true 3 7 true true 3 1 true true 1. 첫번째 값은.. 2023. 2. 20.