【Swift 3】UIStoryboardSegue をコードから呼んで画面遷移
UIStoryboardSegue
をコードから呼ぶ時の記述をメモ。
FirstViewController
から SecondViewController
へ画面遷移したいとする。
Storyboard で UIStoryboardSegue
を作成
Storyboard で FirstViewController
を Ctrl + ドラッグで SecondViewController
へつなぐ。
identifier
を設定しておく。ここでは toSecondViewController
とする。
画面遷移したいタイミングで performSegue
画面遷移を行いたいタイミングで performSegue
を呼ぶ。
class FirstViewController: UIViewController {
// Anything...
func segueToSecondViewController() {
self.performSegue(withIdentifier: "toSecondViewController", sender: nil)
}
}
画面遷移先に何かしらを受け渡したい場合
performSegue
の sender
引数は Any?
型。
画面遷移先に何かしらを受け渡したい場合は sender
にセットし、以下のようにする。
class FirstViewController: UIViewController {
let parameters = ["hello": "こんにちは", "goodbye": "さようなら"]
// Anything...
func segueToSecondViewController() {
self.performSegue(withIdentifier: "toSecondViewController", sender: self.parameters)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "toSecondViewController" {
let secondViewController = segue.destination as! SecondViewController
secondViewController.parameters = sender as! [String : String]
}
}
}
sender
のダウンキャストの時に、画面遷移先と型が一致するようにする。
class SecondViewController: UIViewController {
var parameters: [String : String] = [:] // 画面遷移後は ["hello": "こんにちは", "goodbye": "さようなら"]
// Anything...
}
Author And Source
この問題について(【Swift 3】UIStoryboardSegue をコードから呼んで画面遷移), 我々は、より多くの情報をここで見つけました https://qiita.com/treastrain/items/8c298886cc8f3cf124f2著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .