iOS/RxSwift 6

RxSwift 간단 핵심 정리

Reactive Programming entity 방출 요소에 의존, 변경 사항을 구독, 해당 변경 사항에 반응. 왜 RxSwift 이용하는가? 상태를 다시 확인하고 수동으로 코드에 조건을 입력하지 않아도 됨 if -else 나 switch 구문 등을 많이 줄일 수 있다. 비동기 실행 코드를 observable-subscriber method에 의해 깔끔하게 짤 수 있음 핵심 요소 1. Observable : 모든 데이터 유형이 될 수 있는 Entity 모든 다른 유형의 이벤트가 발생 시 Observer에게 요소를 방출 2. Observer: 관찰 가능 항목 구독, 변경사항 수신, 모든 변경사항에 대해 프로그래밍된 조치를 취한다. 3. Dispose Bag: 특정 파일의 메모리 할당이 해제될 때마다 이걸..

iOS/RxSwift 2023.02.18

RxSwift Operator) CombineLatest

CombineLatest 오퍼레이터 어디에다가 쓸 수 있을까? ID, PASSWORD 를 사용자로부터 입력받아서 CombineLatest operator 도움을 받아 하나의 Observable sequence 로 합친다. CombineLatest 2 개의 Observable에서 방출된 시퀀스에서 최신 이벤트를 결합 let observable1 = userNameTextField.rx.text.orEmpty let observable2 = passwordTextField.rx.text.orEmpty let observableCombined = Observable.combineLatest(observable1, observable2) loginBtn.rx.tap .withLatestFrom(observabl..

iOS/RxSwift 2023.02.15

RxSwift 제일 간단한 테이블뷰 만들기

RxSwift 제일 간단한 테이블뷰 만들기 without tableview 기본 메서드 (cellForRowAt, numberOfRowsInSection이 필요없음) import UIKit import RxSwift import RxCocoa class MainViewController: UIViewController, UITableViewDelegate { @IBOutlet weak var tableView: UITableView! //원래 tableViewItems = ["Item 1", "Item 2", "Item 3", "Item 4"]인데 이걸 Observable 시퀀스로 아래와 같이 변환 let tableViewItems = Observable.just(["Item 1", "Item 2", "..

iOS/RxSwift 2023.02.14

RxSwift) RxCocoa 로 TableView Delegate 처리

https://ios-development.tistory.com/795 [iOS - swift] RxCocoa로 TableView delegate 처리 방법 RxCocoa에서 제공하는 방법으로 tableView의 ControlEvent 처리 방법 RxCocoa의 UITableView+Rx 파일에 존재 itemSelected: 선택한 셀의 IndexPath 값 획득 // viewDidLoad()에서 호출 private func setupTableViewDelegate() { tableView.r ios-development.tistory.com itemSelected: 선택한 셀의 IndexPath 값 획득 modelSelected: 선택한 셀의 model 값을 획득 itemSelected와 modelSe..

iOS/RxSwift 2023.01.13

RxSwift 4시간만에 끝내기(곰튀김님 강의 듣고 정리) [시즌2]

RxSwift 란? 비동기로 생기는 결과값을 컴플리션 형태가 아닌 리턴값으로 나타내기 위해 쓰는 유틸리티 (URLSession 이나 Alamofire에서 completion 에 나타나는 코드들이 너무 길어서 깔끔하게 쓰고 싶었던 적이 많았을 것이다) 사용 방법에는 2가지가 있다. 1) create - 비동기로 생기는 데이터를 Observable로 감싸서 처리하는 방법 2) subscribe - Observable로 오는 데이터를 받아서 처리하는 방법 *한 번 생성된 Observable이 disposed 되면 다시 사용 불가. 새로 만들어주어야 함. *위에처럼 RxSwift를 쓰다가 너무 길어져서 이걸 짧게 줄이고 코드를 간결하게 쓰고 싶기에 나온 애들이 SugarAPI. SugarAPI 는 operato..

iOS/RxSwift 2023.01.12

RxSwift 4시간만에 끝내기(곰튀김님 강의 듣고 정리) [시즌0]

RxSwift 4시간만에 끝내기(곰튀김님 강의 듣고 정리) [ 1. ReactiveX 사이트 둘러보기 ] [ 2. 비동기작업과 Observable ] [ 3. Disposable DisposeBag ] 1) Async 2) PromiseKit 3) RxSwift 이미지 다운로드와 동시에 숫자는 계속해서 올라감 (Async 한 작업) Rx를 왜 쓰는가? Async 한 작업에 대한 코드를 간단하게 쓰기 위해서 코드 형태: Observable 로 리턴. onNext로 전달해서 subscribe 쪽으로 결과가 나옴. 이 때 아래를 참고하면 subscribe는 disposable 리턴 onCancel 쪽의 action: disposable?.dispose() 함으로써 취소 DisposeBag이란? dispose들..

iOS/RxSwift 2023.01.09