Description
📌 [상황]
readme.md의 동영상에서 회원가입 할 때 뒤로가기를 두 번 이상 누르지 않았습니다. 아래의 문제가 있었기 때문이죠,,
// 참고로 회원가입 은 확인 버튼을 통해 다음 화면으로 이동하는데 이때 한 화면은 한개의 Cell입니다. (최대한 쉽고 빠르고 간편하고 재사용 할 수 있게 만들려했기 때문입니다.)
📸 [문제 영상: 재사용 큐 덕분에 맨 처음 indexPath.row == 0의 cell은 텍스트 필드가 하나 지만, indexPath ==3일 때 텍스트 필드가 2개가 인 cell이 꺼내지는 경우 OTL]

🚨 [문제: 재사용 큐 관련]
그 이유는 사실 회원가입 페이지를 만들 때 컬랙션 뷰를 통해서 + 재사용 큐에 cell을 등록하고 사용했는데, 이상하게 3번째 완료를 눌러야 보이는 비밀번호 2개의 텍스트 입력 필드가 나타났을 때 뒤로가기 3번을 누르게 된다면 아이디를 입력하는 Cell에서 비밀번호의 양식이 나왔던 경우입니다....
이 문제는 단순히 textfield의 text == ""처리를 하는 것과 상관이 없었고 23.07.23 오늘에서야 문제를 알았습니다. 재사용 큐에서 꺼내질 때 문제였던 것입니다 : )
제가 회원가입을 토스의 1thing 1page..지금은 또 로그인이 아래서 위로 stack형식으로 쌓이는 것으로 바뀌었던데,,ㅠㅠ 꼭 해보고싶은거 하니까 또 토스에서 만든 아래서 위로 올라가는 로그인이 만들어지고 싶네요 : - /
✨ [문제: 기능 소개, 아쉬운 점]

예전에 인스타그램을 혼자 만들 때 이 방법말고 더 자연스러운 회원가입 없나 하다 토스의 1thing 1page를 알게 됬고.. 이를 따라 만들려 할 때 바로 컬랙션 뷰가 떠올랐습니다. 제 경우 최대한 Cell을 재사용하기 쉽게 비밀번호 만들기와 재확인 의 경우에만 옵셔널 처리되었던 재확인 비밀번호의 인스턴스를 해제했고, 다시 뒤로갈 때 텍스트 필드가 2개인 Cell이 재사용큐에 enqueue됬다는 것입니다. 그렇지만 이때 prepareForReuse와 재사용 큐의 원리를 몰라 text == ""처리만 해줬던 기억이 납니다ㅎㅎㅎ... 원래대로라면 특수한 경우(비번 + 비번 확인) 에만 추가가 되는 뷰의 값을 prepareForReuse에서 nil로 처리하면 위 문제를 해결할 수 있고 페이지뷰 + 각각의 화면을 VC로 했다면?! 재사용 큐를 사용하지 않아 해결 방법이 될 것 같다는 생각이 들었습니다.
그리고 이걸 만들면서 (약 19일 밖에 시간이 없었기에) 빨리해야했지만 그러면서도 고민은 뒤로갔을 때 prepareForReuse에서 텍스트나 사용안하는 버튼, 텍스트 필드가 어떤 텍스트필드인지 보여주는 label을 초기화 하는 거 ok! 근데 사용자가 입력한 값은? 어떻게 처리해야 할까 생각했고 NSCaching이 떠올랐습니다. 근데 시간이 없어서 패스한 기억이 남습니다...