| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
- Traits
- MVVM
- OpenSource
- WeatherAPP
- SPM
- pagination
- 동시(Concurrent)
- MapKit
- flatMap
- Control Event
- Dispatch Queue
- 직렬(Serial)
- Swift Package Manager
- Transforming Operators
- IAMPopup
- 동기(Sync)
- Library
- NewsApp
- Multiple Cell Type
- popupView
- 비동기(Async)
- 의존성 관리 도구
- ios
- Rxcocoa
- swift
- NSCache
- cocoapods
- RxSwift
- Segmented Control
- 라이선스 저작권
- Today
- Total
목록RxSwift (13)
IAM iOS
해당 포스팅은 KxCoding RxSwift 강의를 참고한 포스팅입니다! https://www.youtube.com/watch?v=m41N4czHGF4&list=PLziSvys01Oek7ANk4rzOYobnUU_FTu5ns&index=2 RxDataSources 적용 메모가 삭제될 때 row 애니메이션이 실행되도록 수정 Memo(Model) RxDataSources를 import 하여 IdentifiableType 프로토콜 채택 dataSource에 저장되는 모든 데이터는 IdentifiableType 프로토콜 채택 IdentifiableType 프로토콜에는 Identity 속성이 Hashable을 채용한 형식으로 선언되어 있다. public protocol IdentifiableType { associ..
해당 포스팅은 KxCoding RxSwift 강의를 참고한 포스팅입니다! https://www.youtube.com/watch?v=m41N4czHGF4&list=PLziSvys01Oek7ANk4rzOYobnUU_FTu5ns&index=2 메모 삭제 구현 (메모 보기 화면과 메모 목록 화면에서 모두 구현) 메모 보기 화면에서 삭제 MemoDetailViewModel 삭제 버튼과 Binding 할 Action 메서드 생성 메모를 삭제한 다음에 이전 화면으로 이동하도록 구현 class MemoDetailViewModel: CommonViewModel { ... func makeDeleteAction() -> CocoaAction { return Action { input in self.storage.delet..
해당 포스팅은 KxCoding RxSwift 강의를 참고한 포스팅입니다! https://www.youtube.com/watch?v=m41N4czHGF4&list=PLziSvys01Oek7ANk4rzOYobnUU_FTu5ns&index=2 메모 편집 구현 편집 기능은 쓰기 기능과 동일하지만 전달하는 Action이 다르다. 임시 메모를 생성하는 것이 아닌 편집할 실제 메모를 전달 update 로직은 동일하지만, cancel로 삭제할 필요가 없다. (편집 화면을 닫으면 됨) MemoDetailViewModel class MemoDetailViewModel: CommonViewModel { ... /// saveAction 처리 메서드 /// ComposeViewModel로 전달하는 Action func per..
해당 포스팅은 KxCoding RxSwift 강의를 참고한 포스팅입니다! https://www.youtube.com/watch?v=m41N4czHGF4&list=PLziSvys01Oek7ANk4rzOYobnUU_FTu5ns&index=2 메모 보기 구현 MemoDetailViewModel 첫 번째 Cell에는 메모 내용, 두 번째 Cell에는 날짜 → [String] 방출 TableView에 데이터를 표시하기 위해 Observable과 Binding Observable이 아닌 BehaviorSubject 메모를 편집한 다음 보기 화면으로 오면 편집한 내용이 반영되어야 한다. 이러기 위해서는 새로운 문자열 배열을 방출해야 한다. import RxSwift import RxCocoa import Action..
해당 포스팅은 KxCoding RxSwift 강의를 참고한 포스팅입니다! https://www.youtube.com/watch?v=m41N4czHGF4&list=PLziSvys01Oek7ANk4rzOYobnUU_FTu5ns&index=2 메모 쓰기 구현 MemoComposeViewModel 저장과 취소 코드를 직접 구현을 하면 ViewModel에서 처리방식이 하나로 고정되는데, 파라미터로 받으면 이전 화면에서 처리 방식을 동적으로 결정할 수 있다는 장점이 있다. saveAction과 cancelAction은 파라미터에서 옵셔널로 정의하여 실제로 Action이 일어날 때만 실행(execute)할 수 있게 래핑 해준다. import RxSwift import RxCocoa import Action class..
해당 포스팅은 KxCoding RxSwift 강의를 참고한 포스팅입니다! https://www.youtube.com/watch?v=m41N4czHGF4&list=PLziSvys01Oek7ANk4rzOYobnUU_FTu5ns&index=2 메모 목록 구현 CommonViewModel 의존성을 주입하는 생성자와 Binding에 사용되는 속성과 메서드가 추가 화면 전환과 메모 저장을 처리 (Scene Coordinator와 MemoryStorage 사용) Protocol로 선언함으로써 의존성을 쉽게 수정 import RxSwift import RxCocoa class CommonViewModel: NSObject { let title: Driver let sceneCoordinator: SceneCoordin..
해당 포스팅은 KxCoding RxSwift 강의를 참고한 포스팅입니다! https://www.youtube.com/watch?v=m41N4czHGF4&list=PLziSvys01Oek7ANk4rzOYobnUU_FTu5ns&index=2 Scene 구성 ViewModelBindableType Protocol MVVM 패턴으로 구현할 때는 ViewModel을 ViewController의 속성으로 추가 ViewModel과 View를 Binding ViewModel의 타입은 ViewController마다 달라지기 때문에 Generic Protocol로 선언 Protocol은 associatedtype 키워드를 사용해서 관련 타입(associatedtype)을 선언 관련 타입(associatedtype)은 제네..
해당 포스팅은 KxCoding RxSwift 강의를 참고한 포스팅입니다! https://www.youtube.com/watch?v=m41N4czHGF4&list=PLziSvys01Oek7ANk4rzOYobnUU_FTu5ns&index=2 MVVM-C(Clean Architecture) MVVM-C는 MVVM에 ViewController 계층을 관리하는 Coordinator를 두었다는 것이 특징 MVVM-C 아키텍처를 씀으로써 화면과 연결을 더 쉽게 관리 ViewController 재사용 용이 계층 관리가 용이 ViewController가 만들어질 때, 의존성 주입(DI)을 통해서 사용 가능 Coordinator의 가장 중요한 역할은 ViewController에서 presentation 로직을 가져가는 것..