performSegue(withIdentifier:sender:)
を利用する場合や、addTarget(_:action:for:)
でアクションを登録した場合であれば、その際に条件判断を行うこともできます
UIViewController
のshouldPerformSegue(withIdentifier:sender:)
を利用します
NEXTボタンからセグエを引いてあり、スイッチがONの場合のみ画面遷移を行うプログラムです
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var moveSwitch: UISwitch!
override func viewDidLoad() {
super.viewDidLoad()
}
override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool {
super.shouldPerformSegue(withIdentifier: identifier, sender: sender)
// When the switch is off, it cancels the segue.
return moveSwitch.isOn
}
@IBAction func unwindToMain(_ unwindSegue: UIStoryboardSegue) {
}
}
shouldPerformSegue(withIdentifier:sender:)
の第1引数にはセグエのIdentifierが渡ってきます