swiftでのアプリ制作でエラー内容がわからない
swift、Xcode9.0でクイズアプリを作っています。
アプリ作りは初めてでプログラミング言語自体入門者です。
シミュレータでうまくアプリが動きません。
コンパイルは成功するのですが、シミュレータにLaunch画面以外表示されず、
viewControllerの以下の数カ所にエラーコードが出てしまいます。
以下の部分は赤く染まり、
Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
と表示func Hide(){ LabelEnd.isHidden = true Next.isHidden = true
以下の部分も上記と同じく
BAD_INSTRUCTION
と表示override func viewDidLoad() { super.viewDidLoad() Hide() RandomQuestions()
デバッグエリアに fatal error: unexpectedly found nil while unwrapping an Optional value
と表示されているので、
コードにあるoutlet接続とaction接続をstoryboardと再接続をしましたが、
問題は解決されません。
どこに問題があるのか教えていただけないでしょうか。
どうかご教授お願いします。
独力ではお手上げ状態です。
アプリ作りを始めて10日目。
もう挫折しそう、、、。
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var Start: UIButton!
@IBOutlet weak var QuestionLabel: UILabel!
@IBOutlet weak var Button1: UIButton!
@IBOutlet weak var Button2: UIButton!
@IBOutlet weak var Button3: UIButton!
@IBOutlet weak var Button4: UIButton!
@IBOutlet weak var LabelEnd: UILabel!
@IBOutlet weak var Next: UIButton!
var CorrectAnswer = String()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
Hide()
RandomQuestions()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func RandomQuestions() {
var RandomNumber = arc4random() % 4
RandomNumber += 1
switch(RandomNumber) {
case 1:
QuestionLabel.text = "植物の光合成が行われる細胞小器官はどこ?"
Button1.setTitle("ゴルジ体", for: UIControlState.normal)
Button2.setTitle("ミトコンドリア", for: UIControlState.normal)
Button3.setTitle("葉緑体", for: UIControlState.normal)
Button4.setTitle("小胞体", for: UIControlState.normal)
CorrectAnswer = "3"
break
case 2:
QuestionLabel.text = "甲状腺から分泌されるホルモンは何?"
Button1.setTitle("チロキシン", for: UIControlState.normal)
Button2.setTitle("バソプレシン", for: UIControlState.normal)
Button3.setTitle("鉱質コルチコイド", for: UIControlState.normal)
Button4.setTitle("エストロゲン", for: UIControlState.normal)
CorrectAnswer = "1"
break
case 3:
QuestionLabel.text = "体細胞分裂で染色体が縦裂面で分離し、両極に移動するのはいつ?"
Button1.setTitle("前期", for: UIControlState.normal)
Button2.setTitle("中期", for: UIControlState.normal)
Button3.setTitle("後期", for: UIControlState.normal)
Button4.setTitle("終期", for: UIControlState.normal)
CorrectAnswer = "3"
break
case 4:
QuestionLabel.text = "動物の細胞説を提唱したのは誰?"
Button1.setTitle("シュワン", for: UIControlState.normal)
Button2.setTitle("フック", for: UIControlState.normal)
Button3.setTitle("ブラウン", for: UIControlState.normal)
Button4.setTitle("シュライデン", for: UIControlState.normal)
CorrectAnswer = "1"
break
default:
break
}
}
func Hide(){
LabelEnd.isHidden = true
Next.isHidden = true
}
func UnHide(){
LabelEnd.isHidden = false
Next.isHidden = false
}
@IBAction func Button1Action(_ sender: Any) {
UnHide()
if (CorrectAnswer == "1") {
LabelEnd.text = "合格!"
}else{
LabelEnd.text = "違うよ"
}
}
@IBAction func Button2Action(_ sender: Any) {
UnHide()
if (CorrectAnswer == "2") {
LabelEnd.text = "合格!"
}else{
LabelEnd.text = "違うよ"
}
}
@IBAction func Button3Action(_ sender: Any) {
UnHide()
if (CorrectAnswer == "3") {
LabelEnd.text = "合格!"
}else{
LabelEnd.text = "違うよ"
}
}
@IBAction func Button4Action(_ sender: Any) {
UnHide()
if (CorrectAnswer == "4") {
LabelEnd.text = "合格!"
}else{
LabelEnd.text = "違うよ"
}
}
@IBAction func Next(_ sender: Any) {
RandomQuestions()
Hide()
}
}