안녕하세요!오늘은 원래 바인딩을 활용한 프로젝트를 만들어보며 MVVM 패턴에 대해 학습할 예정이었는데요,샤워하다가 문득 생각난 어플이 있어서 구상하다가 룰렛이 필수로 들어가야 하는데도전해보려고 계속 자료를 찾고 있었습니다. 원래는 하스스톤이라는 게임을 아시는지 모르겠지만거기 룰렛 처럼 세로로 도는 룰렛을 만들어보고 싶었는데어 애니메이션이니 모션이니 하나도 모르는 상태로는 어떻게 접근할지 상상도 안가더라구요.그나마 자료가 보이는? 기본 룰렛을 일단 한번 만들어보자 싶어서 만들어보았습니다. UI도 구체화 하려니 머리가 아프더군요.피그마는 몇번 슥슥 하면 예쁜 UI가 완성되는 마법의 툴인줄 알았는데...저는 머글이었고 피그마는 현실이었습니다.아무튼 우선 빈 프로젝트에 아래의 두 자료를 통해서 룰렛을 만들어보려..
안녕하세요! 오늘은 계속 만들던 프로젝트를 완성했습니다.(https://github.com/kangsworkspace/BMI-MVVM)예제에 대한 로직만 분석하면서 MVVM 패턴에 대해 이해하느라 이전처럼 특별히 정리할만한 내용은 없었습니다. 그래도 다 아시겠지만! 별 거 아닐 수 있는 개념을 조금 정리해보자면!함수를 연결할 때 흔히 쓰는 메서드.addTarget(target: Any?, action: Selector, for: UIControl.Event)의 파라미터 UIControl.Event 타입인 .editingChanged에 대해섭니다. 프로젝트의 코드 중에 이런 맥락의 코드가 있습니다.1. 텍스트 필드에 .addTarget 메서드를 이용해서 텍스트 필드가 수정될 때마다 동작할 함수를 연결h..
안녕하세요! 벌써 4번째 TIL이네요.요즘 시간이 너무 빨리가서 무서워요. 원래 계획대로라면 MVVM으로 간단한 프로젝트를 만들어보고바인딩을 공부하면서 새로 이전 프로젝트를 MVVM 패턴으로 바꿀 예정이었는데요. 예상치 못한 오류에 시간을 많이 소모해서 못했습니다.알고나니 정말 별 거 없는 오류였습니다. 일단 오늘 학습한 내용은 크게ViewModel에서 화면을 전환하는 로직스토리 보드 지우는 법'required' initializer 'init(coder:)' 오류에 관하여 입니다.ViewModel에서 화면 전환하기이전에 MVVM 패턴에서는 ViewModel에서 로직을 담당한다고 하였습니다.그래서 View에서 최대한 로직을 빼는데화면을 전환하는 것도 하나의 로직으로 보고 ViewModel에서 처리한다고..
안녕하세요.오늘의 TIL은 간략하게 적겠습니다!MVVM패턴에 계속해서 학습중입니다.어제 학습중이던 MVVM패턴에서는 View - ViewModel이 1:1 매칭이 이루어지지 않아도 괜찮다고 합니다.그리고 화면을 이동시키는 코드도 하나의 로직으로 보아 ViewModel에서 처리할 수 있다고 합니다.(뷰를 최대한 멍청하게 만들도록 의도합니다.)그리고 저에게 조금 어려웠던 개념인데 바인딩이라는 개념을 접했습니다.바인딩을 통해 반응형 프로그래밍이 가능하다고 하는데,이 반응형 프로그래밍에서 유명한 것이 자주 듣던 RxSwift이더군요...오늘 학습한 내용은 RxSwift까지는 아니고 클래스로 감싸서 변화했을 때 함수를 실행하는? KVO개념인 것 같습니다.핵심 내용은 데이터가 변하면 뷰도 변하도록 코드로 묶는 것인..