벌써 프로젝트를 시작한지 약 3주가 지났다. 길다면 길고 짧다면 짧은 시간이지만 나에겐 도전과 발전의 시간이었다. 사실 거의 마무리 단계이지만 중간 점검 차원에서 글을 작성하게 되었다. (아마 일주일 뒤면 프로젝트가 끝나지 않을까 싶다.) 앱에 대한 설명이나 상세한 개발 내용 등은 개발을 마무리 하고 회고를 작성할 때 포함하도록 하고 이번 중간 점검에서는 개발 진행 상황과 앱 시연 영상만 간략하게 작성하여 기록하고자 한다. 개발 진행 상황 1. API 매니저 구현 1.1 URLComponents를 관리하여 URL을 얻어오는 메소드 구현 1.2 URLSession을 이용하여 JSON 데이터를 받아와 Decoding하는 메소드 구현 2. Realm 적용 2.1 싱글톤으로 구현 2.2 get, read, up..
프로젝트를 하다보면 Collection Type을 순회해야할 때가 있는데, 둘의 차이점을 잘 알지 못한 채 지금까지 사용했었다. 이번 글을 통해 for-in과 forEach과 둘의 차이점에 대해 자세히 알아보겠다. 반복문 for-in과 forEach를 알아보기 전에 반복문에 대해 다시 한번 짚어보자. 반복문은 주어진 조건에 의해 특정 코드 블럭을 반복적으로 실행할 수 있게 해주는 구문이다. 1️⃣ for문 - 횟수에 의한 반복 2️⃣ while문 - 조건에 의한 반복 for-in for 루프상수 in 순회대상 { 실행구문 } ✅ 설정한 범위만큼 반복이 일어난다. ✅ Collection에 저장되어있는 요소 수만큼 반복이 일어난다. ✅ 루프상수의 이름은 원하는 대로 작성할 수 있다. ex)index, num..
MVVM 기존 MVC패턴은 View와 Model의 의존성이 존재하고, 앱의 규모가 커질수록 View의 크기가 커지고 Controller에 많은 부하가 걸려 유지보수에 어려움이 있었다. MVVM은 이를 해결하기 위한 디자인 패턴으로 Command 패턴과 Data Binding을 이용하여 View와 Model뿐만 아니라 View와 View Model 사이의 의존성까지 최소화 했다. Model : 데이터, 네트워크 로직, 비즈니스 로직 등을 담고 있으며, 데이터를 캡슐화하는 역할 ➡️ 화면에 그려지기 위한 데이터 / 모델은 하나로 존재하지 않음. 상황에 따라 다른 형태로 존재함. View : 사용자에게 보여지는 UI 화면 ViewModel : 핵심적인 비즈니스 로직으로, View에서 받은 이벤트를 처리하고 D..