2016-12-17 1 views
0

私はデリゲートを作成し、segueの準備を使ってそれらを渡す方法を知っています。しかし、私は3つのビューを持っている(それらを呼び出すことができます、& C)。ビューAはBのビューを表示するには、接続Bは、ビューCでC.を表示するためにつながるボタンがあり、トグルするスイッチがあります...私はprepareForSegueを使って1つのVCから別のVCに代理人を渡します

ビュー接続:A-> B-> C

I View Cでスイッチを切り替えると、View Aはそれを知ります。関係がまだ1対1であるためKVOを使用せずに

+0

Objective-CとSwiftの両方について同じ質問が何度も尋ねられています。私は何度も古い戦争物語を繰り返し追いかけるという点を見ていません。 –

+0

私はKVOに行くことに決めました。デリゲートをVC-AからVC-Bに、そしてVC-BからVC-Cに渡すのはあまりにも多くの作業のためです。 VC-Cデリゲートを使用してVC-Aのデータを変更します。 –

答えて

0

あなたはクロージャA-> B-> Cを渡すことができ、スイッチがトグルされたときにビューCのクロージャを呼び出して、 VCBでVCA

let vcB = storyboard.instantiateViewControllerWithIdentifier("VCB") as VCB 
vcB.myDataB = "set my data" 
navigationController?.pushViewController(vcB,animated: true) 

で表示A.

0

を知らせる今

var myDataB : String! 

プロパティを作成し、VCBに

0あなたのVCをプッシュします
let vcC = storyboard.instantiateViewControllerWithIdentifier("VCC") as VCC 
    vcC.myDataC = myDataB 
    navigationController?.pushViewController(vcC,animated: true) 

さて、VCCで、プロパティを作成し、

var myDataC : String! 

は、VCAであり、あなたのデータはあなたがあなたの必要性に従って、このデータを使用することができ、プロパティmyDataCとVCCです。

関連する問題