私は4つの異なるフォームを持つアプリケーションを持っています。これらのフォームは、さまざまな質問をクリックしてオプションを保持するViewControllerにつなげることで完了できます。これをOptionViewController
と呼ぶことができます。今私は異なるオプションを持つ4つの異なる形式がありますが、すべてOptionViewController
を使用してデータベースからデータをプルすると、セグを巻き戻してデータを渡す必要があります。unwind segue異なるビューコントローラーにデータを渡す
4つの異なるビューコントローラが存在する可能性があるので、情報が正しく渡されることを確認する必要があります。つまり、destinationviewcontrollerがunwindsegueが第1、第2、
は、私はこの override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
if segue.identifier == "optionSelected" {
if segue.destinationViewController == FirstViewController {
//pass data
} else if segue.destinationViewController == SecondViewController {
//pass data
}
}
}
ような何かを行う可能性があります。しかし、明らかに、私は私が実際に何をやるべきsegue.destinationViewController == FirstViewController
実行することはできませんと思いましたか?それとも私はちょうど私の問題を解決するすべてのフォーム、のために1 OptionViewController
を作成するが、私は、全体的なアプリケーションのパフォーマンスは、事前に任意の助けのために起因するビューコントローラの増加に
感謝をドロップするかどうかを確認していないはずです
segue.destinationViewControllerがFirstViewControllerの場合は{{}を試してください。あるいは、 'もしdvc = segue.destinationViewControllerを' let? FirstViewController {'。 – vacawama
あなたのクイック提案に感謝します。それは私の解き放たれたsegueメソッドが私のviewcontrollerを終了するためにCtrlキーを押しているためです。ので、unwindは 'optionviewController'を直前のviewcontrollerから終了します。これは4のいずれかである可能性があります。 – Chris
vacawama'もしsegue.destinationViewControllerがFirstViewControllerなら '{'は私にとって完璧に機能します。 '=='の代わりに 'is'を使っていたはずです。私はそれを感謝の回答としてマークすることができるように答えとして投稿してください! – Chris