###前提・実現したいこと
一つのMain.storyboardにbutton、button2を配置し、buttonを押したらMenu、butten2を押したらMenu2に遷移させたいです。
import UIKit class MainViewController: UIViewController { @IBOutlet weak var button2: UIButton! @IBOutlet weak var button: UIButton! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. } @IBAction func button2(_ sender: Any) { //Storyboardを指定 let menu2Storyboard:UIStoryboard = UIStoryboard(name: "Menu2", bundle: nil) //生成するViewControllerを指定 let menu2ViewController:Menu2ViewController = menu2Storyboard.instantiateInitialViewController() as! Menu2ViewController <Thread 1: signal SIGABRT //表示 self.present(menu2ViewController, animated: true, completion: nil) } @IBAction func button(_ sender: Any) { //Storyboardを指定 let menuStoryboard:UIStoryboard = UIStoryboard(name: "Menu", bundle: nil) //生成するViewControllerを指定 let menuViewController:MenuViewController = menuStoryboard.instantiateInitialViewController() as! MenuViewController //表示 self.present(menuViewController, animated: true, completion: nil) } }
ビルドした後、シュミレーターで起動後、ボタンを押し、as!の行にエラー出ました。
<Thread 1: signal SIGABRT
storyboard紐付けにも特に問題はなく、繋ぎ直しても何故か出てしまいます。
回答いただけると嬉しいです。
環境 xcode12 swift5
このコードは具体的にはどこ(書籍やネット記事の名前)を参考にして記述されているのでしょうか。
この書き方だと、StoryBoard を2つ用意して、Initial View Controller をそれぞれの StoryBoard に配置した上、カスタムクラスを設定する必要があるのですが、それは間違いなく済んでいますでしょうか。
回答1件
あなたの回答
tips
プレビュー