티스토리 뷰
- MVVM의 목적
비지니스 로직과 프레젠테이션 로직을 분리 하는 것이다.
View 를 수동적으로 만듬으로써 Gui 를 테스트 할 수 있다.
View 는 ViewModel 로부터 데이터를 가져오지 않는다.
View 는 ViewModel 에서 자기자신을 업데이트 할 책임이 없다
View 는 자신의 state 가 있고 ViewModel 이 이를 컨트롤 한다.
- MVVM 패턴
아래와 같은 형태로 종속성을 가진다.

데이터의 흐름은 아래와 같다.

- ViewModel
UI동작 및 상태를 관리 한다.
사용자 입력을 비지니스 로직과 데이터에 따라 해석 한다.
model의 data를 사용자에게 보여줄 준비를 한다.
ViewModel 은 UI frameworks 와는 독립적으로 사용한다.
- View
UI를 렌더링 합니다.
애니메이션을 수행 합니다.
사용자 상화 반응을 ViewModel에 전달 합니다.
- Model
모델은 우리가 생각 하는 데이터라고 보면 된다.
여기서 부터는 Observable 과 FRP 와 SwiftUI와 Combine 와 RXSwift 로 이어지는 최신 코드들에 대한 학습이 필요하고 그런 것들과 의 디자인 패턴의 조합이 좋다. 너무 많은 내용을 담다 보면 혼란스러우므로 이쯤에서 1편을 마무리 하고 다음에 적는게 좋을 거 같다
'iOS' 카테고리의 다른 글
| GCD (Grand Central Dispacher) - 2 (케이스 스터디) (0) | 2022.03.31 |
|---|---|
| jazzy (0) | 2022.03.22 |
| GCD (Grand Central Dispacher) - 1 (0) | 2022.03.17 |
| 위치정보를 읽어와서 geohash로 가공 하기(geohash-2) (0) | 2022.01.18 |
| Geohash-1 (0) | 2022.01.17 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- IF (KAKAO) DEV 2022
- 모듏화
- ios
- geohash
- CI/CD
- AppThinning
- bitrise
- chatgpt 4o
- xcode whitespace trim option
- MQTT
- Fastlane
- 같이쓰기
- ATS failed system trust
- Moya
- 코테
- swiftLint
- jenkins
- swift
- firebase
- RxSwift
- Default Rules
- 무료는 아니지만
- 빌드자동화
- ChatGPT
- async
- AWS IoT
- XCTestExpectation
- 프로그래머스
- GPT4
- GCD
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
글 보관함