Mobile22 [iOS] 클린 아키텍쳐의 Data 흐름 UIView에서 데이터 요청 ViewModel에서의 UseCase 사용 UseCase에서 요청한 응답에 맞는 Data를 저장소에서 가져옴 이렇게 3가지로 구분이 된다. 지금 진행하고 있는 프로젝트에는 Network API Layer UseCase ViewModel View 4단계로 분류를했다. View -> ViewModel -> UseCase -> API 요청 이렇게 4단계로 흐름이 이루어진다. ViewModel이 init()될 때 API요청을 떙기고, VIew가 생성될 때 ViewModel을 주입해주기로했다. 이 단계를 적용하는 과정에서도 많은게 부족하다고 느꼇다. 블로그를 찾아보면서도 다들 클린아키텍쳐를 적용할 앱에 재해석해서 적용해서 본질적으로는 유지보수의 용이점, 저계층에서 고계층으로 갈 때.. 2022. 11. 9. [Swift] RxSwift RxSwift의 정의Rx 구현과 마찬가지로 RxSwift의 의도는 비동기 작업과 Observable이러한 비동기 작업 조각을 변환하고 구성하는 메서드 모음 및 개체 형태의 데이터 스트림을 쉽게 구성할 수 있도록 하는 것입니다.RxSwift는 SPM, CocoaPods 둘 다 지원한다. 나는 SPM으로 설치를했다.RxSwift의 구조이해RxSwift : RxSwift의 핵심으로서 ReactiveX 에 의해 정의된 (대부분) Rx 표준을 제공합니다 . 다른 종속성이 없습니다.RxCocoa : 공유 시퀀스, 특성 등과 같은 일반적인 iOS/macOS/watchOS 및 tvOS 앱 개발을 위한 Cocoa 전용 기능을 제공합니다. RxSwift및 에 따라 다릅니다 RxRelay.RxRelay : 및 Publish.. 2022. 11. 7. [Swift] Singleton Pattern 뽀개기 싱글톤 패턴이란 ? 공용으로 사용할 객체를 하나만 생성하여서 공용으로 사용하는 방법 처음에 들으면 무슨 말인가 싶습니다. 근데 실제로 코드를 짜다보면 제가 객체를 마구 생성해서 한 번 피를 봤던 경험이 있었습니다. 우선 공용으로 사용할 ViewModel을 예시로 들어서 설명하겠습니다. 이 VIewModel은 각각의 뷰에서 사용될 녀석인데 로그인한 유저의 데이터를 가지고 있습니다. 로그인한 데이터는 로그인한 유저의 Token값을 가지고 있습니다. (Token을 키체인을 저장할 수도있지만 예시를 들겠습니다.) 이 토큰은 페이지를 접근할때마다 필요하게 됩니다. 근데 각 뷰마다 이렇게 ViewModel을 생성을 해버리면 뷰마다 각자 UserData를 가지게 됩니다. 그래서 아래의 방법으로 Singleton Pa.. 2022. 11. 7. Optional 뽀개기 Swift는 다른 언어들과 달리 Optional 이라는 개념이 존재한다. 더보기 Optional은 nil을 사용할 수 있는 타입과 없는 타입을 구분하기 위함이며, nil을 사용할 수 있는 Type을 Optional Type이라 부른다 여기서 nil인 경우는 '값이 없다' 라는 것을 의미한다. 그럼 예시를 들기위해 하나를 만들어볼게요. Type뒤에 '?'를 붙여 생성할 수 있으며, 옆에 결과를 보니 nil로 출력되네요. 네, 변수 Type만 선언해놓고 변수 안에 값을 넣어주지 않았으니 당연히 "값이 없다" 라는게 맞고, 위에 Optional의 정의와 맞는 부분인거 같네요. 여기서 Type만 선언한 nameOptional에 값을 넣어볼까요? Type을 미리 선언해놓고, 안에 값을 넣는것도 가능합니다. 이렇게.. 2022. 11. 6. 이전 1 2 3 4 다음