본문 바로가기

전체보기133

[스터디11일차][RxSwift] Traits Traits란?특정한 상황에서 사용하기 쉽게 미리 정의된 Observable의 특별한 형태Single, Completable,  Maybe 세 가지 종류가 있다   Single: 한 번만 값을 방출한다오직 하나의 값(.success(value)) 또는 에러(.failure(error))를 방출하는 Observable자동으로 완료되며 값을 받고나면 더이상 방출되지 않는다 예제 1 - just 정해진 값을 그대로 반환할 때 사용import RxSwiftlet single = Single.just("Hello, Single!")single.subscribe(onSuccess: { value in print(value)})  예제 2 - create 비동기 작업과 같은 상황에서 사용된다(ex. API 요청.. 2025. 2. 7.
[스터디11일차][RxSwift] 테이블뷰 RxSwift 사용 시 UITableViewDataSource와 UITableViewDelegate를 직접 구현할 필요가 없다기존에 사용하던 방식에서는 이 두 가지를 Extention으로 분리해서 관리를 했었는데, Rx 바인딩을 통해 모두 처리할 수 있어서 코드가 간결해진다! ✅  RxSwift 사용 시 변경되는 것(요약)UITableViewDataSource 구현 → 없어짐 (bind(to:)로 대체)UITableViewDelegate 구현 → 없어짐 (rx.modelSelected(_:) 등으로 대체)tableView.reloadData() 호출 → 자동 업데이트DispatchQueue.main.async 필요 → Observable이 알아서 UI 스레드에서 실행indexPath.row를 직접 다루는.. 2025. 1. 31.
[스터디11일차][RxSwift] Subscribe & Bind & Driver 공통점으로는 Observable이나 Driver의 데이터를 구독하거나, UI를 바인딩하는데 사용된다는 점이 있다하지만 각각의 목적과 동작 방식이 다르다  1.  Subscribe가장 기본적인 구독 메서드이며 onNext, onError, onCompleted를 가지고 있으며, 옵저버블의 이벤트 타입에 대한 직접 처리가 가능하다주로 데이터 스트림에서 변화를 감지하고 이벤트를 수동으로 처리할 때 사용한다 내부 로직을 보면 onNext, onError, onCompleted에 대한 처리를 하고 있다  2.  BindUI에 데이터를 바인딩할 때 사용되며 onNext만 가지고 있어, 에러를 방출하지 않는 옵저버블과 함께 사용된다주로 onNext 이벤트만 처리하며 에러 핸들링 로직을 가지고 있지 않다 → 오로지 U.. 2025. 1. 22.
[스터디11일차][RxSwift] 검색 어플 만들 때 유용한 연산자 1.  CatchError옵저버블에서 오류가 발생했을 때 처리하며 대체 값을 반환하거나 새로운 옵저버블로 대체한다예를 들어, 네트워크 요청 실패할 경우 기본 데이터를 제공하거나 사용자에게 오류 메시지를 표시한다 오류를 처리한 이후에도 스트림이 계속 동작함대체 옵저버블이나 값을 방출할 수 있음  예제 1 - 기본 값을 제공하는 CatchError let apiRequest = Observable.create { observer in observer.onError(NSError(domain: "APIError", code: -1, userInfo: nil)) return Disposables.create()}apiRequest .catchError { error in print(.. 2025. 1. 20.
[Swift🍎] URLSession 뜯어보기 1.  URLSession 이란?앱과 인터넷이 상호작용 할 수 있게 도와준다웹 페이지 데이터 가져오기 (HTTP GET 요청)서버에 데이터 보내기 (HTTP POST 요청)파일 다운로드 및 업로드백그라운드 네트워킹 작업  2.  기본 구성 요소URL: 네트워크 요청을 보낼 대상의 주소URLRequest: 네트워크 요청을 구성하는 객체. URL, HTTP 메서드(GET, POST...), 헤더, 본문(body) 등 설정URLSession: 요청을 보내고 응답을 처리하는 객체. 네트워크 작업의 중심URLSessionDataTask: URLSession에서 데이터를 가져오거나 보내는 작업의 단위  3.  사용 방법3-1.  간단한 GET 요청import Foundation// 1. URL 생성let url =.. 2025. 1. 17.
[스터디10일차] Disposable RxSwift를 사용하다 보면 나오는 disposeddisposable은 "사용 후 버리게 되어있는" 이라는 의미를 가지고 있다  이전에 살펴본 Obsevable의 개념을 살펴보면 옵저버블이 관찰 가능한 상태일 때 옵저버가 옵저버블을 구독하는 형태인데,더 이상 옵저버블에 관한 이벤트를 받고싶지 않을 때 구독 해제가 필요함이 때 사용하는 것이 Disposable 이다Disposable = 리소스를 해제하고 이벤트 구독을 중지한다 그럼 어떻게 사용할까?  Disposable의 사용 방법1.  Disposable 기본기본적으로 옵저버블을 사용하면 Disposable 객체가 반환되는데, 해당 객체를 사용하여 구독을 해제한다let observable = Observable.of(1, 2, 3)let subscri.. 2025. 1. 8.