2017-02-17 2 views
1

내 코드가 시뮬레이터에서 완벽하게 작동하지만,이 "치명적인 오류 : 예상치 않게 nil이 선택 값을 언 래핑하는 동안 발견됨"경고 내 iPhone 및 iPad에서.SWIFT 3은 선택 값을 언 래핑하는 동안 예기치 않게 nil 발견 됨 (시뮬레이터에서 완벽하게 작동 함)

enter image description here

"

이상한 것은, 내가 얻은 값으로 개체를 만들려고 할 때 일이 내가 변수의 값을 얻기 위해 시도 할 때이 오류가 발생하지 않은 것입니다 pName "과"pQuestion "은 값을 가진 변수이지만 볼 수 있듯이 일단 객체의 속성에이 값을 주려고하면 객체는 무시됩니다.

코드의이 비트는 시뮬레이터에서 실제로 작동합니다. 어떻게 든 실제 장치에서 동작합니다.

+0

가 어디 앱 충돌을 볼 수있는 뛰어난 중단 점을 추가 했습니까? – theduman

+0

개체를 배열에 추가하려고하면 충돌이 발생합니다. 그리고 바로 위에 "question : = nil"줄 위에 코드 줄을 주석으로 묶어 놓은 줄이 있었고, 그 다음에 똑같은 오류가있는 줄에서 응용 프로그램이 다운되었습니다. –

답변

0

스위프트가 당신에게 말하는 것은 완전히 맞습니다. question 변수는 값을 할당 할 때 nil입니다. 값을 입력하기 전에 초기화하지 않으시겠습니까?

내가 당신을 위해 무엇을 찾고있는 것은 그래서

let question = Question(name: pName, question: pQuestion)

+0

그게 바로 내가 시작한 것과 똑같은 오류로 그 행에 도달하면 모든 것이 망가졌습니다. –

+0

이상합니다. 전체 기능을 보여줄 수 있습니까? 아니면 더 좋은가? –

+0

나는 호주에 있고 날짜 변수에 대한 로케일을 설정하지 않았기 때문에 무엇이 잘못되었는지를 알고 있습니다. 그리고 이것은 객체의 속성 중 하나입니다. 그래서 원래 코드에서 질문 객체를 만들려고했는데, 사실 pDate는 nil이 아닙니다. 어쨌든, 도와 줘서 고마워! 이제 나는 "질문을 못하게 : Question = nil"도 알지 못합니다. :) –

0

생각, 내가 무슨 잘못 내 코드를 알 것 같아요.

Hunaid Hassan이 말했듯이 현재 코드는 객체에서 아무 것도 얻지 못합니다.

이유는 내 원래 코드가 작동하지 않는 이유는 속성 중 하나가 Date 변수이고 내가 호주에 있기 때문에 앱이 실제 기기에서 실행될 때 내가 얻은 날짜가 아무 것도 없기 때문입니다. 로케일을 설정하지 않았습니다.

여기에 내 원래의 코드입니다 : enter image description here

그리고 여기에 내가 로케일을 설정할 수있는 수정 프로그램입니다 : enter image description here 심판 : https://stackoverflow.com/a/26154583/7578872

+0

스크린 샷에 대한 링크가 아닌 질문/답변에 코드를 포함하십시오. –

관련 문제