안녕하세요! 오늘은 계속 만들던 프로젝트를 완성했습니다.(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개념인 것 같습니다.핵심 내용은 데이터가 변하면 뷰도 변하도록 코드로 묶는 것인..
안녕하세요.어제에 이어서 오늘의 TIL 시작합니다~오늘은 의존성과 관련된 개념들을 이해하는데 시간이 한참 걸렸네요. 오늘 학습한 내용은 1. MVVM 에서 화면 이동 시 데이터 전달2. 의존성 / 주입 / 의존성 주입 입니다.1. MVVM 에서 화면 이동 시 데이터 전달1-1 MVC 의 경우일반적으로 MVC패턴에서는 ViewController가 Model을 가지고 있었습니다.그리고 다른 화면으로 이동하는 것도 ViewController에서 처리했습니다. 그래서 화면을 이동할 때, ViewController에서 이동할 화면의 ViewController에 직접적으로 데이터를 전달했었습니다.let nextVC = nextViewController()// 여기서 데이터 전달nextVC.data = data(뷰 ..