私は次のシーンを持っていますstoryboard
VC1 => NavC => VC2 => VC3 => VC4segue
条件に基づいて、プログラムで VC1 から VC2 または VC3 に切り替えます (NavC をインスタンス化し、viewControllers 配列を変更することでそれを行っています)。VC4 から VC1 に巻き戻したいのですが、無視されて何も起こらないので、何か間違っていると思います。これを行うためにIBAction
、VC1 で呼び出された unwind1 を定義し、次にsegue
VC4 からその出口への出口を作成し、それを segue1 と呼びました。私もサブクラスUINavigationController
化し、その中に次のメソッドを持っています:
override func viewControllerForUnwindSegueAction(action: Selector, fromViewController: UIViewController, withSender sender: AnyObject!) -> UIViewController {
return self.presentingViewController!
}
override func segueForUnwindingToViewController(toViewController: UIViewController, fromViewController: UIViewController, identifier: String?) -> UIStoryboardSegue {
return UIStoryboardSegue(identifier: identifier, source: fromViewController, destination: toViewController)
}
VC4 の method1 で を呼び出しますself.performSegueWithId("unwind1")
。実行制御をトレースすると、この行に到達しますが、無視されます。上記の 2 つのメソッドにブレークポイントを設定すると、実行制御がそこに到達しません。私が間違っていることについて何か考えはありますか?