apple 216

Ch13. Intermediate RxCocoa

Ch13. Intermediate RxCocoa 오랜만에 RxSwift를 포스팅하고자 함.RxSwift 스터디를 했었는데, 스터디 후에도 너무 어려워서 기본기부터 다시 함. RxSwift는 MVVM에서 편하게 사용하려고 쓴다는데 클로저로 MVVM도 안써본 내가 RxSwift부터 하는게 너무 황당해서 스스로 클로저로 했을때 뭐가 어떤지를 겪어보았음 확실히 이 과정이 지나니까 RxSwift과 너무나도 당연한 흐름?이었음을 이해하게 되어서 이해도가 훨씬 높아짐앱 결과예제인데 보고 연습 CLLocationManager + Rx프록시로 묶어서 처리한건데 정말 깔끔하게 묶어내고 있음import Foundationimport CoreLocationimport RxSwiftimport RxCocoaextension C..

RxSwift Ch12. Beginning RxCocoa

RxSwift Ch12. Beginning RxCocoa애플의 CocoaTouch를 처리하는 RxCocoa에 대해서 알아보자.근데, 작성하다가 파일 한번 날아감 ㅠㅠㅠㅠㅠㅠ  코드 분석주석으로 설명searchCityName.rx.text // textField와 연결 .filter { ($0 ?? "").count > 0 } // 입력값이 존재하면 넘어가게끔 .flatMapLatest { text in // 가장 마지막에 구독된 스트림의 값만으로 갱신 return ApiController.shared.currentWeather(for: text ?? "Error") .catchErrorJustReturn(ApiController.Weather.empty) // ..

🐉 RxSwift 4Hour - Step3(Rx)

✅ 내가 도저히 모르겠어서 코드를 하나하나 보면서 해석해보는 시간을 가지려고 해. 왜 내가 어렵게 생각했을까? -> 기존에 비동기 처리를 GCD등을 이용하여 처리해왔었고, 굳이 어떤 부분에서 rx를 이용해서 비동기를 처리해야하는지 설계시에 확 떠오르지 않는다. -> rx를 사용해서, subject나 relay를 가지고 코드를 작성하는 것이 기존의 delegate를 이용한 코드보다 직관적으로 느껴지지 않는다. -> 코드에 대한 이해가 부족하다. (사용법에 능숙하지 않다) 아무튼 마스터하기는 해야하는데, 테이블 뷰 구성도 쉽게 못하는 걸로 보아서,, 일단 코드를 해석하는 것 부터 해보려고 한다. (목차) 1. APIService 2. API 요청으로 받아온 데이터는 어떻게 처리가 될까? - 테이블 뷰 아이템..

🐉 RxSwift + MVVM (TableView) 코드1

✅ 이번 시간에는 스터디에서 공부했던 테이블 뷰 코드리뷰를 할 생각이야. ❗️주의사항 - RxSwift를 주로 사용하였으며, RxCocoa를 사용한 코드는 따로 포스팅을 다시할 예정. (쉽게 말해서 .bind, rx.tap 등을 사용하지 않고 delegate와 dataSource로 작성하였음) MVVM 패턴 및 Singleton패턴을 사용하였음. 코드를 볼 수 있는 곳 : https://github.com/lgvv/MVVM_RxSwift/tree/main/week2_lgvv_pratice lgvv/MVVM_RxSwift MVVM 패턴과 RxSwift 를 학습하고, 이를 적용한 프로젝트를 개발하기 위한 스터디모임입니다. - lgvv/MVVM_RxSwift github.com 🟠 뷰의 구성도 ✅ MVVM 설..

🐉 RxSwift(Relay와 subject)

✅ 이번 시간에는 Relay에 대해서 알아볼 예정이야. 공부하면서 보니까 bind, asDriver, drive, relay 등의 표현이 많이 나오는데 공식문서에는 따로 확인할 수 없던 부분이라 학습을 추가적으로 진행하기로 했음. (목차) 1. Subject란? 2. Relay란? 3. Subject와 Relay의 차이점 4. 5. ✅ 1. Subject란? - RxSwift 4시간 강의에서는 Observable의 경우에는 우리가 준 값만 확인할 수 있지만, 좀 더 나아가 개발을 할때 실시간으로 Observable에 값을 추가하고 Subscriber를 할 수 있는 놈이 필요합니다. 이때 Observable이자 Observer인것을 Subject라고 합니다. Observable + Observer = Su..

[week7] ⏰ Time Based Operators(cold? hot?)

✅ 이번 시간에는 시간과 관련한 오퍼레이터들을 볼 예정이야. 일부는 이전 포스팅에서 이미 사용했던 것들이지만, 재점검 할겸 중복될 수 있어. 실습 코드 https://github.com/lgvv/MyRxSwift lgvv/MyRxSwift 나의 RxSwift 공부 기록장. Contribute to lgvv/MyRxSwift development by creating an account on GitHub. github.com 커리큘럼 https://github.com/lgvv/RxSwiftStudy/blob/main/week7_1.md lgvv/RxSwiftStudy RxSwift를 공부하는 Repository입니다.🐍. Contribute to lgvv/RxSwiftStudy development by ..

[week6] Combining Observables

✅ 이번 시간에는 Combining Observables에 대해서 알아보자 실습 코드는 https://github.com/lgvv/MyRxSwift lgvv/MyRxSwift 나의 RxSwift 공부 기록장. Contribute to lgvv/MyRxSwift development by creating an account on GitHub. github.com (목차) 1. Concatenation - startwith - concat - concatMap 2. Combining Elements - Combine Latest - zip 3. Trigger - withLatestFrom 4. Switches - ambiguous - switchLatest 5. Combining Elements within..

[week5] 🌟Transforming Observables

✅ 이번시간에는 rx에서 가장 중요한 연산자인 Transforming Observables에 대해서 살펴볼 예정이야. 나의 실습 소스코드 위치 : https://github.com/lgvv/MyRxSwift lgvv/MyRxSwift 나의 RxSwift 공부 기록장. Contribute to lgvv/MyRxSwift development by creating an account on GitHub. github.com 이번에는 커리큘럼의 내용을 기반으로 공식문서를 곁들여 보도록 하자! https://github.com/lgvv/RxSwiftStudy/blob/main/week5.md lgvv/RxSwiftStudy RxSwift를 공부하는 Repository입니다.🐍. Contribute to lgvv/..

[week4] Filtering Observables

[week4] Filtering Observables 이번 실습코드는 https://github.com/lgvv/MyRxSwift lgvv/MyRxSwift나의 RxSwift 공부 기록장. Contribute to lgvv/MyRxSwift development by creating an account on GitHub.github.com 커리큘럼은 이번에는 공식문서를 기반으로 함. 이 순서대로 한번 알아보도록 할건데, 여기서 약간의 메소드 사용법이 달라진 것도 있으니 유의하면서 보도록 하자.   (목차)1. 공식문서 카테고리에 나온 것들을 정리해보자.2. 그 외에 것들에 대해서 알아보자. - enumerated - throttle - single  ✅ 1. 공식문서 카테고리에 나온 것들을 정리1️⃣ D..

[week3] Subjects

✅ 이번 시간에는 Subjects에 대해서 알아보도록 하자. 여기 부분이 진짜 엄청 이해가 안간다 ㅠ_ㅠ 여기부터는 따로 스타터파일이 제공되지 않아서 내가 직접 코드를 만들어 실습할 예정! 이 포스팅에서 커리큘럼 대한 정보 https://github.com/lgvv/RxSwiftStudy/blob/main/week3.md lgvv/RxSwiftStudy RxSwift를 공부하는 Repository입니다.🐍. Contribute to lgvv/RxSwiftStudy development by creating an account on GitHub. github.com ✅ 실습 코드에 대한 정보 -> 여기가서 코드를 다운받기! https://github.com/lgvv/MyRxSwift lgvv/MyRxSwi..