이전 포스팅에서 Model-ViewModel-Model로 이루어진 MVVM패턴을 코드로 구현해봤는데요. 오늘은 뷰에 직접 표출시켜보겠습니다. 이전 포스팅에서 구현한 코드를 기반으로 이어서 진행하니, 직접 구현해서 확인하고 싶다면, 이전 포스팅을 먼저 참고해서 진행해주시기 바랍니다. 🤗 MVVM 디자인패턴 코드 뷰에 나타내기 먼저 Model을 만들어 보겠습니다. Model은 Pet이었죠? Pet의 생일, 이름, 희귀성, 이미지 등을 먼저 정해줍니다. // MARK: - Example to Action // step 1 let birthday = Date(timeIntervalSinceNow: -2 * 85400 * 366) let image = UIImage(named: "mungGu")! let mung..
MVVM 패턴 사용 간 주의해야 할 사항 MVVM패턴은 MVC패턴의 MassiveViewController, Testability의 단점을 해결해주는 디자인패턴으로 저번 포스팅에서 얘기 했었는데요. 다만, MVVM패턴이 무조건적으로 좋을까요? 오늘은 MVVM 디자인패턴 사용 간 주의해야 할 사항을 알아보겠습니다. What should you be careful about? MVVM 사용 시 무엇을 주의해야 할까? MVVM 패턴은 Model을 View에 표출하기 전 ViewModel을 거쳐 변환시킨 후 적용함으로서, ViewModel의 정의만 수정하면, 다수의 Model을 하나하나 변경할 필요 없는 장점이 있습니다. 그래서 만약 많은 Model-to-View 변환을 요구하는 프로젝트일 경우 MVVM 패턴의..
When should you use it? 언제 MVVM(Model-View-ViewModel)을 사용해야 할까? 만약 모델을 뷰모델을 통해 뷰에 맞는 값으로 변환해서 뷰를 표현하고 싶다면, MVVM 디자인패턴을 사용할 수 있습니다. 예를 들자면, 날짜 표기에 사용되는 Date구조체를 날짜 포맷화 된 String 문자열로 변환하거나 이와 같은 많은 경우의 변환이 필요할 경우, MVVM의 VM, 뷰모델(ViewModel)이 사용되어질 수 있습니다. Massive ViewController 비대한 뷰컨트롤러 지금 이야기하고 있는 MVVM(Model-View-ViewModel) 디자인 패턴은 MVC의 단점을 보완하고 있는 디자인패턴입니다. 만약 뷰모델(ViewModel)이 없다면, 모델에서 뷰로 변환하는 과정..
MVVM Design Pattern MVVM 디자인 패턴 Model-View-ViewModel 의 구성을 가진 디자인 패턴, MVVM은 앞서 Model, View, ViewModel 세개의 특정 그룹으로 객체들을 나누는 디자인패턴입니다. MVC(Model-View-Controller) 패턴에 비하면 Controller -> ViewModel이 되었네요. MVVM의 구성 그룹, 세가지 그룹은 모델(Model), 뷰(View), 뷰모델(ViewModel)로 각각의 역할은 아래와 같습니다. - 모델(Model) : 앱 데이터를 갖습니다. 보통 구조체나 단순한 클래스로 구성되어 있습니다. - 뷰(View) : 스크린 상에 시각적으로 보이는 요소와 컨트롤들을 표출합니다. 전형적으로 UIView의 서브클래스 들로 ..
- Total
- Today
- Yesterday
- createML
- 프로그래머스swift
- 프로토콜
- 자연어처리
- Collection
- publisher
- swift언어
- 알고리즘
- 컬렉션
- swift
- 백준swift
- 부스트코스
- swift알고리즘
- Swift 알고리즘
- swift reduce
- swift 문자열
- swift 기초
- 알고리즘문제
- uikit
- 스위프트
- swift문제
- SwiftUI
- CoreML
- 프로그래머스
- swift string
- 김프매매
- ios
- 개발자문서
- 백준알고리즘
- Protocol
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |