前提・実現したいこと
以下のようなアプリを作成したい。
立ち上げると「画面1」を表示する。
「画面1に」は、「BUTTON1」ボタンと 「LABEL1」ラベルを表示する。「LABEL1」の表示文字は「AAA」である。
「BUTTON1」をクリックすると、「画面2」に遷移する。
「画面2」には「BUTTON2」ボタンのみを表示する。
「BUTTON2」をクリックすると「画面1」に戻り、「LABEL1」の表示文字が「BBB」に変わる。
発生している問題・エラーメッセージ
Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value
該当のソースコード
swift
1import UIKit 2class ViewController: UIViewController { 3 @IBOutlet weak var label1: UILabel! 4 5 override func viewDidLoad() { 6 super.viewDidLoad() 7 // Do any additional setup after loading the view, typically from a nib. 8 } 9 override func didReceiveMemoryWarning() { 10 super.didReceiveMemoryWarning() 11 // Dispose of any resources that can be recreated. 12 } 13 @IBAction func changeLabel(_ sender: Any) { 14 15 label1.text = "BBB" 16 dismiss(animated: true, completion: nil) 17 18 } 19 20}
試したこと
3行目の@IBOutlet weak var label1: UILabel! には、LABEL1を紐づけています。
12行目の@IBAction func changeLabel(_ sender: Any) には、BUTTON2を紐づけています。
しかし、これを実行すると、BUTTTON2をクリックした時点で、以下のようなエラーが出ます。
Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value
Label1 には文字列を代入しているのでnilではないはずです。
では一体なんの値がnil だと指摘されているのでしょうか。
ご教示ぜひよろしくお願いいたします。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。