Design Pattern?특정 문맥에서 공통적으로 발생하는 문제에 대해 재사용 가능한 해결책이고, 다른 상황에 맞게 사용될 수 있는 문제들을 해결하는데에 쓰이는 서술이나 템플릿으로 시스템을 디자인할 때 공통된 문제들을 해결하는데에 쓰이는 형식화 된 가장 좋은 관행이다.→ 정해진 형식을 따를 필요는 없지만(필수는 아님) Design Pattern 형식에 맞게 구성하면 쉽게 형식에 짜여져 있어 프로그래밍 가이드라인이라 생각하면 쉽다.출처 : https://ko.wikipedia.org/wiki/소프트웨어_디자인_패턴 디자인 패턴의 가장 큰 목적 >>>> 유닛 테스트 깔끔한 코드 분리 보다는, UI 와 분리하여 기능을 테스트 하는데 있어 독립적으로 실행하기 위해 나누는것이 디자인 패턴의 가장 큰 목적이다.1..
비즈니스 로직?우리 눈에 보이지 않아도 되는 기능들ex) 로그인 관련 기능버튼을 눌렀을 때 판단하는 기능들→ “@” 기호가 있는지, 한글이 섞여 있는지 등 판별하는 기능ex) 상품 구매하기 버튼구매를 못했을 때를 판단하는 기능들→ 체크카드 만료, 계좌에 돈이 없음 등..하나의 액션에 많은 기능들이 구현되어있음 → viewmodel로 빼보자 @objc private func amountChanged() { print(#function) //1. optional binding guard let amountText = amountTextField.text else { return } //2. isEmpty? if amo..
UIButtonproperty/methodtype설명참고showsMenuAsPrimaryActionBool버튼을 길게 누르지 않고 탭만 하면 나오게끔 하는 속성 layoutIfNeeded()-UI를 업데이트 하라는 queue에 뒷쪽에 넣는것이 아니라, 맨 앞쪽에 넣어서 곧바로 UI가 변경되기를 기대할수있는 메소드https://ios-development.tistory.com/986UILabelproperty/methodtype설명참고clipsToBoundsBooltrue → subview가 view의 경계를 넘어갈 시 잘림 false → 경계를 넘어가도 잘리지 않게 되는 것label에 cornerRedius를 주려고 하면 안되는데, 그때 바꿔줘야한다. subview에 무언가가 채워질 때, view의 둥글..