09.12.21 릴리 TIL : cell은 contentView와 constraint를 맺자

Lily·2021년 12월 9일
0

Today I Learned

목록 보기
26/30

🤓 학습 내용


1. Unit Test 메서드명.. Snake Case vs Camel Case

🐍 snake case의 장점

test내용을 test종류/test할 대상/주어진 상황/기대하는 결과로 _를 이용해서 구분해 줄 수 있다.
참고링크
타입의 camelcase를 그대로 사용할 수 있다. 타입명과 테스트의 카멜케이스를 구분가능
func test_ExpositionInformation_decode() (snake case 사용)
func testExpositionInformationDecode() (camel case 사용)
숫자의 띄어쓰기를 구분

🐫 camel case의 장점

Swift에서 기본으로 사용하는 컨벤션은 Camel case이기 때문에 통일성이 있다.


2. Table View

tableView(_ , numberOfRowsInSection) 메서드 호출 횟수

func tableView(_ tableView: UITableView, 
                        numberOfRowsInSection section: Int) -> Int

section의 row의 갯수를 반환해주는 Data Source object의 이 메서드는 section의 갯수만큼 호출된다. TableView가 처음 만들어지는 시점에! 그렇게 TableView가 section과 section당 row의 수를 알 수 있게 된다!

Reusable Cell Queue가 필요한 이유

cell은 이니셜라이즈해서 만들고 없애는 비용이 크다. 따라서 scroll을 해서 새로운 cell이 보여질 때마다 cell을 만들어서 보여주는 것보다 Reusable Cell Queue를 활용해서 cell을 재활용하는 것이 더 비용 측면에서 합리적이라고 한다.

3. Auto Layout - contentView

Table View의 cell에서 constraint를 줄 때 주의해야할 점!

content view와 관계를 맺어주어야 한다.
그래야 Accessory view도 활용이 가능하다.

Content View 와 Frame Layout ... 공부 더 필요


🤔 고민한 점


✅ 앱 설계와 요구사항 분석 방법

이번 프로젝트의 앱은 이전 프로젝트인 계산기, 쥬스메이커랑 좀 다른 결이었다.
전의 프로젝트들이 Model타입에서 연산하고 작업하는 요구사항이 많았다면,
이번 프로젝트는 View를 그리고 ViewController간의 통신이 더 주가 되는 느낌?

그래서 본격적으로 코드를 치기전에 요구사항 분석을 어떻게 하고, 앱의 구조를 어떻게 설계해야하는지에 대해 고민이되었다.

우선은 아래 기준대로 구현 내용을 쪼개고 쪼갠 다음, 방법을 고민하고 리스트업해보았다.

  • 사용자 이벤트와 그에 따른 앱의 상태 변화
  • ViewController에 필요한 UI요소 분석 + View를 그리는 방법 결정

더 좋은 요구사항 분석 방법은 뭐가 있을랑가?

profile
i🍎S 개발을 합니다

0개의 댓글