인프런 커뮤니티 질문&답변

Scott Jun님의 프로필 이미지

작성한 질문수

iOS9 & Swift2 12개 앱을 만들면서 배우는 아이폰 앱 개발

61. 미니 웹브라우저 만들기 9

unwrapping 에러가 발생합니다.

16.05.06 10:50 작성

·

230

0

실행하면 아래와 같이 에러가 발생합니다. 왜 그럴까요? mainWebView.loadRequest(NSURLRequest(URL: NSURL(string: urlString)!)) fatal error: unexpectedly found nil while unwrapping an Optional value (lldb)

답변 4

0

뭐하는거니?님의 프로필 이미지
뭐하는거니?
지식공유자

2016. 05. 19. 01:56

답변들이 늦어서 죄송합니다. 꽤 오래 아이폰 개발을 하면서 얘기 하는게 있긴 한데, 너무 비 전문가 같아서 이런 방식에 대해서는 오프라인 강의 때말고는 별로 얘기를 안드려요. 하다가 안되면 product 메뉴에 clean하고 다시 컴파일 하라고 얘기하고 그래도 안되면 재 부팅 하라고 얘기를 합니다. 프리컴파일러의 메모리 부족으로 가끔 안되는 경우도 있고 해서요. 실제 오프라인 수업에서 많이 나오는 현상이예요. 껐다 켜니까 된다. 진짜 확실한데도 안된다면, 프로젝트를 처음부터 다시 해야 될때도 있긴 합니다. 자동 코딩 되는 부분들이 완벽하진 않으니까요. 당연히 이것도 프로그램이다 보니 실수를 합니다. 우리가 알수는 없겠지만 말이죠.  스토리 보드도 그럴때가 있어요. 그럴때는 다 지우고 다시 만들죠. Xcode가 완벽한건 아닙니다. 갑자기 이런 이야기가 생각나네요. 윈도우 98이 이상하다고 MS에 전화하면 "다시 설치하세요" 라는 답을 주로 해줬다는 이야기요. 개발툴도 프로그램입니다. 하다보면 몇일씩 밤새도 안되는게 껐다 켜면 될때가 있죠. 굉장한 자괴감에 빠지죠. 그런 일은 대단이 많이 일어 나는거는 아니지만, 저는 워낙에 많이 오프라인 수업을 했었다보니, 자주 보긴 했습니다. 저 스스로도 겪은 적이 좀 있구요.   개발툴이 완벽한건 아니니, 잘 안되시면 다시 해보시는 수밖에 없다고 답변을 드릴수 밖에 없네요.^^;

0

Scott Jun님의 프로필 이미지
Scott Jun
질문자

2016. 05. 12. 17:38

결국 프로젝트를 처음 부터 다시 해서 되긴 했습니다. 강사님이 올리신 ViewController 파일만 복사하면 동일한 에러가 발생하고 전체 프로젝트 파일을 실행하면 잘되고 하는데 소스 파일 외에 다른부분에서 예를들어 스토리보드 같은 곳에서 저런 에러를 발생 시킬 수 있는 부분이 있는지 궁금합니다

0

Scott Jun님의 프로필 이미지
Scott Jun
질문자

2016. 05. 11. 08:26

소스는 올려주신 것을 그대로 갖다 써도 동일한 에러가 발생합니다. 구글링을 해보니 NSURL에서 정상적인 url인데도 nil을 반환하는 경우가 종종 있는것 같습니다. stackoverflow에도 여러번 질문이 올라왔습니다. 보면 url string에 space가 있는 경우, 유효한 문자가 아닌 경우에 nil을 반환한다고 합니다. 근데 위의 경우는 space도 없고, 유효하지 않은 문자(특수문자등)도 사용되지 않아서 해결 방법을 찾기가 어렵습니다. myString = myString.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())! 위와 같이 캐릭터 변환 함수를 써서 해봐도 마찬가지 입니다.

0

뭐하는거니?님의 프로필 이미지
뭐하는거니?
지식공유자

2016. 05. 11. 01:50

mainWebView.loadRequest(NSURLRequest(URL: NSURL(string: urlString)!))  문서를 확인해봤더니 unwrapping 부분이 바뀐 부분이 없습니다. 잘되는게 맞는 건데요.그대로 하시면 되요. 확실치 않은데 다른 문제 같네요. 풀 코드를 올려 주시던지 해야 할듯합니다.