0

私は次のシーンを持っていますstoryboard

VC1 => NavC => VC2 => VC3 => VC4segue条件に基づいて、プログラムで VC1 から VC2 または VC3 に切り替えます (NavC をインスタンス化し、viewControllers 配列を変更することでそれを行っています)。VC4 から VC1 に巻き戻したいのですが、無視されて何も起こらないので、何か間違っていると思います。これを行うためにIBAction、VC1 で呼び出された unwind1 を定義し、次にsegueVC4 からその出口への出口を作成し、それを 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 つのメソッドにブレークポイントを設定すると、実行制御がそこに到達しません。私が間違っていることについて何か考えはありますか?

4

1 に答える 1

0

iOS 8.1では動作するのにiOS 8.0では動作しないことに気付いたので、私が行ったことは問題の正しい解決策のようです。iOSのバグだと思います!

于 2014-12-19T16:55:55.247 に答える