티스토리 뷰

문제상황

문법적인 오류 없이 코드를 작성하고 스토리보드와 코드를 연결했음에도 불구하고, 앱이 실행 자체가 안되는 상황🥲

 

에러 메세지

this class is not key value coding-compliant for the key!!!

 

원인

에러메시지 그대로 해석하면

heightLabel을 코드에 담았다고 하지만, XCode는 heightLabel을 찾을 수 없다는 뜻

찾아본 결과

이는 IBOutlet 지정한 프로퍼티가 해당 클래스와 연결되지 않았거나,

스토리보드 상에서는 해당 아웃렛을 삭제했지만 해당 클래스 파일에서 해당 IBOutlet 삭제하지 않은 경우 발생가능

ViewController의 Inspecter 부분

노란색 경고와 함께 ViewController does not have an outlet named heightLabel 이라고 쓰여져 있다.

XCode가 이렇게 경고를 띄울 수 밖에 없는 이유는

여기서 @IBOutlet에 해당하는 값들을 !을 통해

강제 추출(Force Unwrapping)하고 있기 때문에

만약에 해당 @IBOutlet(ex label, button...)들을 스토리보드 상에서 삭제했다면?

nil값이 들어가 있는것과 마찬가지이기에 nil값이 반환되므로, 앱이 실행될 수가 없다!

 

해결책

 오류를 해결하기 위해서는, 먼저 해당 클래스 파일의 IBOutlet 잘못 지정되어 있지는 않은지 확인해야 한다.

(있지도 않은 Outlet을 코드에 생성한건 아닌지)

그리고 인터페이스 빌더에서 해당 Outlet을 삭제한 경우, 해당 클래스 파일에서도 아웃렛을 삭제한다.

⭐️

빠른 해결책: 노란색 경고창이 뜨는 부분들은 오른쪽의 X표시를 눌러서, 해제시켜준다(애초에 없는걸 연결한거니까!)

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함