MVVM 6

SwiftUI keyboard 이벤트 감지하기

SwiftUI keyboard 이벤트 감지하기앱 개발에 있어서 키보드 상태에 따라서 뷰의 다른 컴포넌트들의 높이가 조정되는 등 키보드와 관련해서는 꽤나 까다로움 UIKit을 사용한다면  - iOS 15 이상: keyboardLayoutGuide를 활용하여 레이아웃을 잡기 - iOS 14 이하: 키보드의 상태에 따라 키보드의 높이를 계산해서 뷰의 위치를 조정view.keyboardLayoutGuide SwiftUI 사용 - iOS 15 이상: @FocusState 활용 - iOS 14 이하: NotificationCenter와 Combine을 활용  샘플코드 키보드 상태를 읽을 수 있도록 아래 코드를 작성protocol KeyboardReadable { var keyboardPublisher: Any..

iOS Clean Architecture 실습 (MVVM)

iOS Clean Architecture 실습 (MVVM) 1부에서 학습한 내용을 기반으로 MVVM 형태로 Swift Package를 활용해 샘플 코드를 구현해보고자 함. 히스토리2022-09-23: 클린 아키텍처 스터디 (깃헙 프로젝트 분석)2024-12-09: 포스팅 글 깔끔하게 정리목차[iOS Clean Architecture (MVVM)](https://rldd.tistory.com/497)[iOS Clean Architecture (실습)](https://rldd.tistory.com/498) 클린 아키텍처 샘플 코드예제에 사용한 코드Search Package용어 정리DTO(Data Transfer Object)계층 사이에 데이터 교환을 위해 사용하는 객체로 DTO는 로직을 가지지 않는 데..

iOS Clean Architecture 정리 (코드 분석)

iOS Clean Architecture 정리 (코드 분석) iOS CleanArchtecture Example + MVVM 으로 깃헙에서 유명한 프로젝트를 분석해보고자 함. 히스토리2022-09-23: 클린 아키텍처 스터디 (깃헙 프로젝트 분석)2024-12-09: 포스팅 글 깔끔하게 정리목차[iOS Clean Architecture (MVVM)](https://rldd.tistory.com/497)[iOS Clean Architecture (실습)](https://rldd.tistory.com/498) 배경아래의 다섯가지 개념을 단일 아이디어로 통일하기 원했고, 따라서 소개한 아아디어가 클린 아키텍처Independent of Frameworks: 아키텍쳐는 소프트웨어 라이브러리의 존재에 의존하지..

Swift Combine Networking

Swift Combine Networking  Combine을 활용해서 쉽게 서버와 통신을 처리할 수 있음.난이도는 총 3단계로 아래 파일에 있는 Refactoring(상)과 Advanced Model에 대해서만 설명.  목차1. Refactoring (상) 모델 파일//// UserModel.swift// CombineNetworking//// Created by Hamlit Jason on 2022/06/10.//// let user = try? newJSONDecoder().decode(User.self, from: jsonData)import Foundation// MARK: - UserElementstruct UserElement: Codable, Hashable { let id:..

Swift 디자인패턴 MVVM Pattern (MVVM 패턴)

Swift 디자인패턴 MVVM Pattern (MVVM 패턴) MVVM 패턴은 모바일 개발에서 자주 사용하는 아키텍처 패턴. 히스토리2022-04-26: 디자인 패턴 스터디 정리2024-11-28: 포스팅 글 재정리 및 예제 변경   MVVM Pattern기본적으로 아래의 구성요소들로 구성Model: 앱의 데이터 및 비즈니스 로직의 일부View: 앱의 화면 영역 담당ViewModel: View와 Model의 중재자 역할MVVM 패턴은 파생 아키텍처가 많고, 아키텍처에 따라 용어의 차이도 존재하여, 가장 기본적인 것들을 서술클린아키텍처MVVM-CVIPERRIBsReactorKitTCA 코드 예제UIKit이랑 SwiftUI에서 모두 MVVM을 사용하는 기본 예제를 확인할 수 있도록 만들어 둠ViewModel..

🐉 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 설..