본문 바로가기

(TIL)Today I Learned

(4)
[Today I Learned] 22.09.12 BindingMVVM MVVM의 꽃이라 할 수 있는 바인딩을 하는 방법은 크게 두가지가 있다. View to ViewModel binding ViewModel to View binding Q1> What is View to ViewModel binding? 사용자가 클라이언트에 입력을 할 때 자동적으로 연관된 ViewModel 인스턴스 내 특정 프로퍼티 값이 없데이트 되어야 한다. 클라이언트에 한개의 TextField가 있고 VM안에 temp 프로퍼티가 있다고 가정한다면, 사용자가 TextField를 입력했을 때 temp 프로퍼티 또한 그 값이 바로 바로 할당되야 한다. ( 내 추측인데 이런 바인딩은 더욱 Controller의 의존성을 떨칠 수 있다. ) 이제부터 정리하는 글의 컨텐츠는 이 코드를 기반으..
[Today I Learned] 22.09.11 GoodWeather 새로 적용한 것 & 느낀점 강의 계획을 보고 사전에 UI 구현 클린코드를 읽으며 TDD 개념에 대해 알게 되었다. 한번 TestModule로 데이터 파싱에 대한 테스트 코드를 만들어 봤다. 이게 맞는건지는 추가적으로 공부 해야겠다. 테스트 코드를 통해 성공적으로 작동될 경우에 VM 등을 만들어서 하는 것도 좋은 방법임을 알게 되었다. 테스트 코드를 몇가지 상황에서 작성을 해봤다. VM의 역할은 클라이언트에 데이터를 채울때 그 모든 정보를 VM에서 제공하는 것. 그래서 VM은 Controller한테 특정 데이터들 값을 바로 바로 제공하면 되는 것! Controller는 VM의 처리과정에 대한 연산 없이 결과값을 반환 받기만 할 정도로 Controller역할이 낮아지고 VM역할이 커지는..
[Today I Learned] 22.09.08 HotCoffee 강의 보기전에 대략적인 UI를 구현했습니다. 이번엔 Autoresizing 레이아웃을 사용하지 않고 구현해봤다. 오호.. Hiroku로 간단하게 주간단하게 웹 서버가 동작하는 법을 살짝 맛봤다. 초기 order 서버에는 빈 배열만있는데 iOS로 새로운 데이터 전송을 하지않고 (네트워킹 툴)포스트맨에서도 쉽게 value를 추가 할 수있다. 근데 이 강의에서 소개한 서버는 한번 실행하면 몇시간만에 저장해둔 db 값들을 다시 싹 날려버린다. (헛;; 기존 서버가 만료됬나.. 요청 안됬는데 다행히 공지사항을 보니 새 서버 주소가 있네 휴..) 실제로 Web API를 test할 때는 포스트맨 같은 네트워킹 툴을 사용하면 휠씬 편하다.(잘 응답 되는지 등등+ 문서화도 가능) 이미지1 서버 정상동작..
[Today I Learned] 22.09.04 GoodNews 기본 강의를 듣기 전에 일단 MVC패턴으로 뉴스 REST API를 받아왔습니다. URLSession보단 최근에 Swift 재은씨 실전편을 통해 익혔던 Alamofire를 통해 데이터를 파싱하고 구현했습니다. 강의를 보면서 새롭게 Controller 대신 ViewModel 을 적용시켜 View에 관여하도록 코드를 구현했는데 음..? Scene과 대응하는 Controller는 역시 제거를 안하는구나,, 좀 더 MVVM 패턴 공부를 해봐야겠다는 생각이 들었습니다. GoodNews->ViewModel->ArticleViewModel.swift 다만 ViewModel은 Model과는 달랐다고 느낀게 Model은 데이터 그 자체 틀인건 분명한데 ViewModel에서는 Model을 인스턴스로하는 구조..