
현재 진행 중인 개인과제는 간단한 ToDoList를 만드는 과제다.
강의를 듣고 배운내용을 활용하면 되는거라 생각했지만, 내 입맛대로 UIView를 추가하고 했더니 자잘한 버그들이 많이 생겼었다.
그 중에서 alert창에서 textField를 입력할 때, 버벅이거나 멈추는 버그가 있었는데 구글링과 ChatGPT를 통해서 해결하게 되었다.
그 내용을 잊어버리지 않기 위해 다시 복기하면서 작성하려고 한다.


에러 내용을 보면 UIKeyboard에서 타임아웃이 발생했다는 뜻 이여서 해결방법을 구글링 해봤다. 그랬더니 나와 같은 현상을 겪고 있는 사람이 있어서 쉽게 해결할 수 있었다.

textField.autocorrectionType = .no
textField.spellCheckingType = .no
textField 부분에 위의 구문을 추가하면, ios키보드에 있는 수정제안 기능이 꺼지게 되면서 위와 같은 에러를 발생시키지 않게 된다.
위의 방법으로 textField에 입력하는 버벅임이 해결된 줄 알았는데, 몇번 다시 실행시켜보니 전 처럼 심하지는 않았지만 여전히 버벅임이 남아있었다.

그래서 뭐가 문제일까 고민하다가, 디버깅 창을 확인했는데 위와 같은 에러메세지를 확인할 수 있었다.
위의 메세지는 정확이 무엇을 의미하는 지 몰라서 ChatGPT에게 물어봤다.
ChatGPT가 말하길 "이 오류 메시지는 UICollectionView가 관리하는 UICollectionViewCell의 translatesAutoresizingMaskIntoConstraints 속성을 변경하는 것이 지원되지 않으며, 이로 인해 셀의 자동 크기 조정이 올바르게 작동하지 않을 것임을 나타냅니다." 라고 하길래 translatesAutoresizingMaskIntoConstraints 속성을 설정해야 한다는 것을 알게 되었다.
원래는 storyboard로 개발하게 되면 translatesAutoresizingMaskIntoConstraints 속성을 설정할 필요가 없다는 것을 다른 개발 블로그에서 본 적이 있었는데, 나는 tableView를 코드로 작성해서 위와 같은 에러가 발생한 것 같았다.

uiTableView.translatesAutoresizingMaskIntoConstraints = false
에러를 해결하기 위해 위와 같이 구문을 추가해 줬다.
그런데 alert의 textField에서도 위와 같은 에러가 발생했다.
그 전까지 alert창도 코드로 구현하게 되어서 같은 에러가 발생할 수 있다는 것을 인지하지 못했다.

그렇게 textField 부분에도 구문을 추가해주니 textField에서 입력을 받을 때 버벅임이나 멈추는 버그가 사라졌다.