私はVC A
上に作成されていない、私はプログラム的B
をVCに行き、その後、VC B
はVC C
(perform(segueWithIdentifier:)
クラッシュ)に行くために何seguesを持っていません。 私はセグを使ってVC B
に行くと、セグをコールしてVC C
に行くことができます。ませseguesはプログラム的
をVC A
:ここ
がクラッシュし、私のコードです
// Method A (that does not crash)
// self.performSegue(withIdentifier: "gotoB", sender: self)
// Method B (that crashes)
let dst = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "vcB")
if let navigator = navigationController {
navigator.pushViewController(vc, animated: true)
}
VC B
:
self.performSegue(withIdentifier: "gotoC", sender: self) // crashes here
事は、私はどこからでもVC B
に到達できるようにしたいということですしたがって、ナビゲーションコントローラを使用したプログラムによるプッシュ。私はこれがなぜ起こり、私が望むものを達成する方法を理解したいと思います。ありがとう。
のためにあなたのストーリーボードにStoryboardIDを設定してくださいあなたはセグエ識別子「gotoCは」一度 –
クラッシュログとは何ですか、それを確認する登録していますか? –
@srinivasnはい、私はsegue 'gotoC'を持っています。なぜなら、Segueを使って' A'から 'B'に行くときに働くからです。しかし、 'navigationControler'を使って' B'を押すとクラッシュします。 – Dliix