サーチ…
概要
Appleのドキュメントから:
UIStoryboardSegueオブジェクトは、2つのView Controller間の視覚的な遷移を実行します 。さらに、segueオブジェクトは、あるView Controllerから別のView Controllerへの移行を準備するために使用されます。 Segueオブジェクトには、遷移に関与するビューコントローラに関する情報が含まれています 。 Segueがトリガされてから視覚的な遷移が発生する前に、ストーリーボードのランタイムは、現在表示されているView ControllerのprepareForSegue:sender:メソッドを呼び出して、必要なデータを表示しようとしているView Controllerに渡します。
属性
迅速
sourceViewController: UIViewController {get}
destinationViewController: UIViewController {get}
identifier: String? {get}
参考文献:
Segueを起動する前にView Controllerを準備する
PrepareForSegue :
func prepareForSegue(_ segue:UIStoryboardSegue, sender sender:AnyObject?)
segueが実行されようとしていることをView Controllerに通知します。
パラメーター
segue :segueオブジェクトです。
sender :segueを初期化したオブジェクト。
スウィフトの例
segueの識別子が "SomeSpecificIdentifier"である場合にタスクを実行します。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "SomeSpecificIdentifier" {
//- Do specific task
}
}
呼び出されたSegueが実行されるべきかどうかを決定する。
ShouldPerformSegueWithIdentifier :
func shouldPerformSegueWithIdentifier(_ identifier:String, sender sender:AnyObject?) -> Bool
指定された識別子を持つsegueを実行する必要があるかどうかを決定します。
パラメーター
Identifier :トリガーされたセグを識別するString
Sender :Segueを初期化したオブジェクト。
スウィフトの例
識別子が "SomeSpecificIdentifier"である場合にのみsegueを実行します。
override func shouldPerformSegueWithIdentifier(identifier:String, sender:AnyObject?) -> Bool {
if identifier == "SomeSpecificIdentifier" {
return true
}
return false
}
Seguesを使用してナビゲーションスタック内を後方にナビゲートする
怒りを解く
Unwind Seguesは、ナビゲーションスタックを巻き戻し、行き先を指定する方法を提供します。この関数のシグネチャは、Interface Builderがそれを認識するための鍵です。 戻り値はIBActionで、UIStoryboardSegueの1つのパラメーターを取る必要があります 。関数の名前は関係ありません。実際、この機能は何もする必要はありません。これはUIViewControllerがUnwind Segueのデスティネーションであるマーカーとしてのみ存在します。 [ソース] [1]
アンワイングセグの必須署名
目的C:
-(IBAction)prepareForUnwind:(UIStoryboardSegue *)segue {
}
迅速:
@IBAction func prepareForUnwind(segue: UIStoryboardSegue) {
}
プログラムによるトリガー・シーグ
PerformSegueWithIdentifier:
func performSegueWithIdentifier(_ identifier:String, sender sender:AnyObject?)
現在のビューコントローラのストーリーボードファイルから指定された識別子でセグを開始します。
パラメーター
Identifier :トリガーされたセグを識別するString
送信者 :セグを開始するオブジェクト。
スウィフトの例
テーブルビューの行選択から識別子 "SomeSpecificIdentifier"を持つセグを実行する:
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
performSegueWithIdentifier("SomeSpecificIdentifier", sender: indexPath.item)
}