MVVM ViewModel이란? 이제 기존 MVC 프로젝트를 MVVM으로 리팩토링하기 전에, ViewModel에 대해서 간단하게 알아보자. ViewModel은 View에서 일어난 변경을 감지해서 Model에게 그 변경을 전달한다. 예를 들어, 사용자가 음악을 검색하면, 입력할 때마다 또는 검색 버튼을 누를 때 ViewModel이 그 변경을 감지하는 것이다. 이후에 Model에 그 변경을 전달하기 위해 NetworkManager라는 계층에게 데이터 변경을 요청하는 역할을 담당한다. 기존 MVC의 ViewController와 MVVM의 ViewController의 차이를 살펴보자. ViewModel - 유저의 입력을 감지하여 처리한다. - Network 요청한다. View - View를 보여준다. MVVM을..
MVC 이제까지 해 왔던 방법으로 View Controller를 구성해보자. (우선 UI는 단순한 TableView에 음악 제목을 띄우기만 할 것이다.) ViewController class ViewController: UIViewController { private var musicData: [Music]? private let networkManager = NetworkManager.shared private let tableView: UITableView = { let table = UITableView() table.register(UITableViewCell.self, forCellReuseIdentifier: "cell") return table }() override func viewDidL..
MVC -> MVVM으로 구조 변경해보기 많은 글들을 보고, 코드를 봤지만 나는 아직도 왜 MVVM이 필요한지 모르겠다.. 그래서 MVC를 MVVM으로 리팩토링해보며 왜 필요한 지 공부해보고자 한다. 우선 내가 만들고자 하는 앱은 iTunes API를 이용해 음악 정보를 받아오는 아주 단순한 앱이다. MVVM, MVC에서 공통적으로 사용하는 코드는 다음과 같다. 모델 import Foundation struct MusicData: Decodable { let resultCount: Int let results: [Music] } struct Music: Decodable { let albumImage: String let musicTitle: String let artist: String let albu..
- Total
- Today
- Yesterday
- baekjoon
- SwiftUI
- 리플릿
- 깃
- 이것이 코딩테스트다
- 코드업
- CHR
- 부르트포스
- 깃허브
- 레플릿
- 파이썬
- python
- ord
- level1
- COMMIT
- for문
- 기초 100제
- 정답
- 백준
- 16진수 입력
- replit
- 코드 업
- Code up
- 설명
- 반복문
- do while
- 프로그래머스
- CodeUp
- 시간초과
- Swift
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |