티스토리 뷰
- 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
- MQTT
- CI/CD
- ChatGPT
- 모듏화
- AppThinning
- GPT4
- XCTestExpectation
- ios
- 프로그래머스
- jenkins
- Default Rules
- firebase
- async
- bitrise
- swiftLint
- xcode whitespace trim option
- 같이쓰기
- ATS failed system trust
- 빌드자동화
- 코테
- 무료는 아니지만
- geohash
- swift
- AWS IoT
- RxSwift
- chatgpt 4o
- GCD
- Moya
- Fastlane
- IF (KAKAO) DEV 2022
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함