[iOS] NSUnknownKeyException 에러 해결하기

zooneon·2020년 12월 28일
3

🧐 개요

공부를 하면서 NSUnknownKeyException 에러가 발생했는데...

다음부터는 같은 실수를 하지 않기 위해 블로그에 정리해두려 한다.

-


💣 NSUnknownKeyException

오늘도 어김없이 코드를 짜고 빌드를 했는데

에러가 발생하였다.

NSUnknownKeyException

?? (nil coalescing operator 아님ㅋ)

이 친구는 무엇일까

처음 보는 에러여서 좀 당황했다.

처음엔 내 코드가 잘못된 줄 알고 무작정 코드부터 점검했다.

음 아무리 봐도 코드는 정상이었다.

혹시 outlet이나 action들 중 연결이 안 된 것이 있나?

다 연결되어 있었다.

그래서 결국 검색해보았다.

수많은 upvotes들을 보니.. 나 말고도 많은 사람들이 이 에러 때문에 곤혹을 느꼈나 보다.

connections inspector는 차마 확인하지 않았던 나는 설마 하며 확인을 해보았는데..

두둥

이름 바꾼다고 label을 다시 만들었는데, 기존 label의 레퍼런스가 그대로 남아있었다.

기존 레퍼런스를 삭제하니 오류가 귀신같이 해결되었다.

찾다보니 꽤 많은 사람들이 이 문제에 직면했었는데 여러가지 이유가 있었다.

그중에 내가 찾아본 것들을 정리해보자면

  1. 잘못된 클래스 상속을 하는 경우 (예를 들어 UITableView를 상속받아야 하는데 UIViewController를 상속받은 경우)
  2. UIButton에 두 개 이상의 참조가 연결되 어있는 경우
  3. 소스 코드에서 참조를 삭제했지만 스토리보드에는 참조가 남아있는 경우 (나의 경우)
  4. 클래스 타겟 모듈을 잘못 설정한 경우

등이 있다.

이거 외에도 더 있겠지만 지금 전부 알아보기는 힘드니 나머지는 나중에 다른 이유로 같은 에러가 발생했을 때.. 미래의 내가 찾아볼 것이다.

우선 똑같은 실수를 반복하지 않기 위해 한 번씩 확인해 주어야겠다.

간단하게 공부하다가 발견해서 삽질을 오래 하지는 않았지만 만약 규모가 큰 프로젝트를 하다가 이런 오류를 접하고 삽질을 했더라면.. 상상만으로도 끔찍하다.

다음부턴 꼼꼼히 확인하자!


📚 참고

profile
블로그 이전했습니다. https://blog.zooneon.dev

2개의 댓글

comment-user-thumbnail
2020년 12월 31일

네 잘하셨습니다 하트드릴게요~

1개의 답글