

테이블 뷰 셀을 커스텀으로 구현했는데 dequeu함수를 호출하고 그 인스턴스의 프로퍼티에 값을 새로 초기화해서 Layout과 데이터를 줬는데 셀이 중첩해서 생겼다.
reuse가 되지않고 계속해서 테이블 뷰 셀이 생긴 것인데..
그 이유는 내가 테이블 뷰 셀의 재사용 메서드를 통해 기존에 존재하는 셀을 인스턴스로 얻었을 때 !!! 이전 셀을 초기화하지 않은 채 새로 cell의 subview들을 초기화하고 값을 할당했기 때문에 중첩해서 나타나는 것이었다. 내 cell초기화 과정이 dequeue 이후에 무저건 적으로 되는데 그전에 이미 재사용 큐에서 존재했던 cell의 정보들은 다 없애지 않았기에 중첩해서 생기는 것 같다.
다른화면으로 갔다가 돌아오면 viewWillAppear에서 tableView.reloadData()을 실행해서 tableView(_:cellForRowAt:)를 실행할 때 위와같은 중첩사항이 반복되기 때문에 reloadData()를 통해 테이블 델리게이트 메서들이 실행되기 이전인 prepareForReuse()를 통해 이전 셀의 정보를 초기화 하거나 없애야 하는 로직을 추가함으로 해결할 수 있었다.