2017-06-10 11 views
-1

私はこのエラーを取得する:私は、この関数を呼び出すとき致命的なエラー:オプションの値をアンラップしながら、予期せず(lldb)nilを見つけ

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

は:

ViewController().textToLabel(answer: answerLabel) 

を私は別のクラスからこれを呼び出します。

func textToLabel(answer: String){ 
     answerLabel.text = answer   //I get the error here 
} 

第二ビューコントローラ

import Foundation 
import UIKit 

class germanClass{ 

    func forGerman(){ 

     var answerLabel = "" 
     var voiceText = "" 
     var colorPicker = "white" 

     var randomNumber = arc4random_uniform(UInt32(numberOfAnswers + 1)) 

     switch (randomNumber){ 
     case 0...20: 
      answerLabel = "Ja" 
      voiceText = "Ja" 
      colorPicker = "green" 
     } 

     //ViewController().changeColor(color: colorPicker) 
     ViewController().textToLabel(answer: answerLabel) 

     if (voiceTextOn){ 
      randomNumber = arc4random_uniform(UInt32(7)) 
      if (randomNumber == 0){ 
       if (userName != "Ich möchte wissen wie du heißt! " || userName != "du"){ 
        voiceText += userName 
       } 
      } 
     } 
     textToSpeech().siriVoice(language: "de-de", text: voiceText) 
    } 


} 
+1

投稿したコードにアンラッピングが表示されません。問題は他のどこかで起こっている。エラーの行番号に基づいて関連するコードを転記します。 – Dima

+0

あなたが 'ViewController'クラス用のコードを含んでいたら、あなたの質問に答える方が簡単かもしれません。 –

答えて

0

あなたが示した内容に基づいて、label.textを送信するラベルを送信しているとします。
テキストを送信するか、ラベルを送信してそれに応じてメソッドを定義します。

0

ViewController().textToLabel(answer: answerLabel)を呼び出すと、新しいViewControllerがインスタンス化され、textToLabel(answer:)が呼び出されますが、これはおそらく必要ではありません。

2つのView Controller間でデータをやりとりする場合、それらの間の関係によっては、他の方法を見つける必要があります。

また、2番目のビューコントローラはUIViewControllerから継承する必要があります(どのビューコントローラもそうする必要があります)。

関連する問題