【teratail】画面遷移するボタンをタップ時にThread 1: signal SIGABRT
質問
実現したいこと
ボタンをタップした時、Aの画面からBの画面()へ、Aの画面からCの画面へ、遷移できるようにしたい。
Segue.identifierは、
A->B:WIN
A->C:LOSE
困っていること
ボタンをタップしたら遷移するはずなのに、Thread 1: signal SIGABRTエラーが出る
解決方法
Prepareメソッド内で生成したはずのA->Bインスタンスが、実はA->Cインスタンスだった。
つまり、if segue.identifier == "WIN"と記述され、本来なら
let vc = segue.destination as! Bの画面
のはずが、
let vc = segue.destination as! Cの画面
となっていた。
なので、もしBの画面に遷移するなら、as!の後をBの画面にする。
もしCの画面に遷移するなら、if segue.identifier == "LOSE"と記述する。