• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

DigitalFrame 연습하다가 "unexpectedly found nil while unwrapping an Optional value"라는 에러가 나왔습니다.

16.07.12 03:46 작성 조회수 298

0

DigitalFrame 연습하다가 imgView.animationImages = cuteImages 이 부분에서 "unexpectedly found nil while unwrapping an Optional value"라는 에러가 나왔는데요. 보니깐 imageView를 스토리보드에서 Connection Inpsector에서 ViewController에 연결해주지 않아서 발생한 것 같더라고요.  이 현상을 에러메시지랑 연관지어서 이해를 해보고 싶은데, 좀 자세히 설명해주실 수 있나요? 이미 ViewController 클래스에 @IBOutlet var imgView: UIImageView!로 이미지뷰를 선언도 했고, viewDidLoad()에서 cuteImages배열도 만들고 초기화도 잘 해서 넘겼는데, 왜 하필 unwrapping할 때 nil이 나왔다는 에러가 나오는 것인지 궁금합니다. 제 생각에는 제가 스토리보드에 대한 이해가 좀 부족해서 그런 것 같은데 이 부분에 대해서 설명해주시면 감사하겠습니다. 

답변 3

·

답변을 작성해보세요.

0

제가 보기엔 상관 없는거 같은데요.. 내부 코드에서 생기는 문제 인거 같아요일단 connection inspector에서 잘못 연결 된 것들은 느낌표로 표시 되면 그부분은 연결이 잘못된거라.가르키는 쪽이 없다는 뜻입니다. 그래서 그관련 에러가 나는데 저거는 왜 그런지 잘 모르겠네요.. 내부코드에서 생기는 문제 같아요.

0

아 제가 질문을 명확하게 하지를 못했나봅니다. 코드에는 아무런 문제가 없는 상태였고요. Connection Inspector에서 imageView를 연결하니까 해결되었습니다. 혹시나 해서 연결을 끊어보니 같은 오류가 발생했고요.  그런데 일단 해결하기는 했는데, 이게 왜 이런 식으로 해결되는 것인지는 이해가 좀 잘 되지 않는데 이해를 해보고 싶어서요. imageView를 스토리보드에서 ViewController에 연결하지 않았을 때 왜 하필 저 에러가 뜨는 것인지가 궁금합니다. 전부 코드로 처리했다면 코드를 보면서 이해를 해볼 수 있을 텐데, 스토리보드가 코드로 다 반영되는 것은 아니다보니 스토리보드랑 Optional value랑 무슨 관계인 건지 궁금합니다. 

0

제가 보기엔 optional value 라는게 어떤 입장에서 보면 자료 구조 같아요. nil이 들어 갈수도 있는 자료 구조이죠. swift는 만들어 질때 모든 변수에 초기화가 되게 되어 있답니다. 근데 ?요런 모양으로 변수를 달아 놓으면 nil 도 넣으수 있는 optional value 가 되요. optional value부분 강의 한번더 보시죠.어쨌거나 저 에러는  값을 넣을려고 하는데 optional value wrapping 이 되어 있는 값이라서 그걸 풀고 넣어야 에러가 안 날꺼예요. 라이브러리들이 optional value 값들이 설정 되어 있는게 많습니다. 그걸 강제로 !로 푸시고 넣으시면 문제 없으실꺼라고 생가각합니다. 제가 만든코드에서 분명 배열 아니면 배열의 값을 넣는 부분 등에서 !를 빼 먹고 넣으셔서 그래요. 한번 잘 찾아 보셔야 할듯해요. !를 어디다 빼먹었는지요..