質問編集履歴

1 追記をし、画像を追加させていただきました。

退会済みユーザー

退会済みユーザー

2018/06/13 11:53  投稿

TextFieldで入力した文字列がtrueだった場合に、ボタンを押すことによってLabelの内容を変更したい。
### 前提・実現したいこと
TextFieldに入力した文字列がif文の条件に合っていた場合、ボタンを押すことによってLabelの文字を変更できるようにしたいです。
### 発生している問題・エラーメッセージ
```
Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value
```
下の画像のようなエラーが出てしまいます。また、Simulatorで動かしてみると、ちゃんと表示はされますが、テキストフィールドに文字を打ち込み、ボタンを押すと、このエラーが出てXcodeの画面に戻ってしまい、何も起きません。
![イメージ説明](b4b444e9083f35875243dad394501abd.png)
![イメージ説明](31c2f630c116825aab14c9b2e9e8e4a6.png)
### 該当のソースコード
Swift
import UIKit
class ViewController: UIViewController {
   @IBOutlet weak var textField: UITextField!
   @IBOutlet weak var label: UILabel!
   override func viewDidLoad() {
   super.viewDidLoad()
   label.text="Quiz"
}
       
   override func didReceiveMemoryWarning() {
       super.didReceiveMemoryWarning()
       // Dispose of any resources that can be recreated.
   }
   @IBOutlet weak var label2: UILabel!
   @IBOutlet weak var textView: UITextView!
   //このTextViewの中にABCDという4つの選択肢があり、Cを答えると正解になります。
   
   @IBAction func button(_ sender: Any) {
       let text: String = textField.text!
       if text == "C" {
           label2.text = "Correct!"
       }
   }
}
### 試したこと
インターネットで検索してみましたが、解決しませんでした。
### 補足情報(FW/ツールのバージョンなど)
  • Xcode

    6406 questions

    Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

  • Swift

    11278 questions

    Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

  • Swift 2

    1350 questions

    Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る