サーチ…


概要

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)
}


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow