CS 정리하다가 남기는 TIL [스코클 230810]

7과11사이·2023년 8월 10일
0

스파르타코딩클럽

목록 보기
30/90
post-thumbnail

내일의 나에게 맡기기 위해 세세하게 정리는 안한다... ㅠ

새벽까지 모두와 함께 CS 관련해서 정리를 했다.
모든게 다 처음이었기에 너무 힘들었지만 - 많은 걸 배우고 있다 생각한다.

오늘의 학습

기술면

TableView 데이터 로드 방식을 공부하게됐다.
이번에 투두 어플을 구현하면서 가장 많은 에러를 발생한 부분이 아닐까 싶다. indexPath에 담겨 있는 값에서 0번째 Section 0번째 row, 그 다음 row에 있는 값이 없어지는 경우가 있었다.

이는 TableView의 Datasource와 실제 가지고 있는 값이 일치한지 확인을 하는 과정에서 불일치할 경우 오류가 발생했는데, 나 같은 경우. userdefault로 값을 한번 더 저장하기 위해 이곳 저곳에 데이터를 저장하는 코드를 또 한번 심어두게 되면서 문제가 지속적으로 발생하곤 했다.

tableVIew를 다뤄보면서 느낀 건,
데이터 베이스와 테이블뷰에서 데이터가 일치하기 위해선 데이터베이스에서 먼저 데이터를 삭제해주고 테이블 뷰에서 없애야 한다는 점이었다. 반대로 테이블뷰에서 셀을 삭제하고 관련 데이터를 DB(지금 같은 경우 일반 컬렉션일 뿐이었지만)에서 지우게 된다면 오류가 발생한다는 점이었다.

이유는 tableView의 경우, viewDidLoad()에서 지속적으로 데이터가 있는지 확인을 하면서 업데이트를 하고 있는 과정에 있다. 이 때 셀에 있는 데이터를 먼저 삭제를 할 경우, 초당 계속해서 업데이트를 하고 있는 tableView에서 현재 컬렉션 값과 tableView 값이 일치하지 않다고 외치고 있던 상황이었다.

0개의 댓글