2016-04-10 4 views
-2

Вот мой код:«неожиданно нашли ноль в то время как разворачивание необязательное значение» в viewDidAppear

override func viewDidAppear(animated: Bool) { 

    if let vid = self.selectedVideo { 

     self.titleLabel.text = vid.videoTitle 
     self.descriptionLabel.text = vid.videoDescription 

     let width = self.view.frame.size.width 
     let height = width/320 * 180 

     let videoEmbedString = "<html><head><style type=\"text/css\">body {background-color: transparent;color: white;}</style></head><body style=\"margin:0\"><iframe frameBorder=\"0\" height=\"" + String(height) + "\" width=\"" + String(width) + "\" src=\"http://www.youtube.com/embed/" + vid.videoId + "?showinfo=0&modestbranding=1&frameborder=0&rel=0\"></iframe></body></html>" 

     self.webView.loadHTMLString(videoEmbedString, baseURL: nil) 
    } 
} 

У меня есть проблемы на последней строке:

fatal error: unexpectedly found nil while unwrapping an Optional value (lldb)

+1

Что такое self.webView? Его объект IBOutlet? –

+0

@IBOutlet слабый var webView: UIWebView! –

+0

Используете ли вы неявно развернутый «Необязательный» в своем коде? Он будет выглядеть как «Тип!» - если тогда «Необязательный» не будет установлен до его использования. – ColGraff

ответ

3

Убедитесь, что розетка подключена правильно изучив левое поле и убедившись, что у вас есть сплошная точка рядом с каждым @IBOutlet. Например, ниже, так как есть пустая точка рядом с webView декларации, я знаю, что я не подключить розетку правильно, и поэтому он будет nil в результате ошибки, как ваша:

enter image description here

Всякий раз, когда вы получаете эту ошибку, «неожиданно найдено нуль», укажите, какая переменная была nil, а затем диагностируйте, почему это может быть так.

1

Ваша проблема заключается в том, что webView, вероятно, объявлен как (слабый) неявно разворачиваемый необязательный тип и вызывает сообщение об ошибке, когда вы пытаетесь его использовать. Оберните свой код охранником и убедитесь, что вы правильно подключили свой веб-просмотр в IB.