저번 이야기로부터 이어지니까 읽고 와주세요 링크까지 친절히 걸어드릴게요.
읽고 오시기 귀찮은 분들을 위해 제가 대신 요약하자면,
- forEach 혹은 for-in 반복문으로 UIView의 Subview로 UIView와 UILabel을 넣어주고
- SnapKit을 활용해 제약조건을 설정해주면?
- 축☆런타임 에러★축
- 유는 모든 구성요소가 넣어지기 전에 SnapKit 코드가 실행되어서인것으로 추정.
- forEach나 for-in 반복문 말고 addSubview를 직접 반복해서 적어주면 버그 X
와 참 친절한 요약!
여튼, 수많은 뻘짓 끝에 버그의 실로 놀라운 해결책을 찾아냈습니다.
그러나 여백이 부족하여 이를 적지 않겠다...는 농담이구요
그저 시력이 딸려서 발생한 휴먼에러입니다.
저번 글에 넣어놓은 짤방에 답이 있었더라고요...
다시 갖고 왔습니다:
보이시나요?
빨간색으로 표시해보겠습니다.
ㅎㅎ
ㅎ
ㅋㅋㅋㅋㅋㅋㅋ
selectedBox만 두개...
즉 selectedLabel이 subView에 들어가지 않은 상태에서 SnapKit으로 SuperView로 constraint를 잡으려니까 에러가 뜬 것이었네요...
네... 저걸 코드를 짤 때도, 주석처리를 할 때도, 스크린샷을 찍을 때도, 짤방까지 만들때까지도 발견을 못 한게 신기하네요...
진즉에 GPT한테 물어봤으면 짚어줬을 것 같은데 그놈의 쓸데없는 자존심때문에 안 물어보다가 여기까지 끌렸습니다.
여튼, SnapKit의 "Fatal error: Expected superview but found nil when attempting make constraint equalToSuperview.
"라는 에러는, SuperView를 찾을 수 없을 때 나오는 에러이다...!
ㅎㅋㅋㅎ...ㅎ....ㅋㅋㅋ....ㅎㅎㅎ...
😒