2013-04-03 73 views
0

我正在轉身幾天。 我有3個ViewControllers的層次結構。與代表跳過視圖控制器

從VC1開始,從那裏你可以加載VC2。在VC2中,您可以加載VC3。

我的導航工作正常VC1-> VC2-> VC3和相同的倒退。

VC3允許用戶回到VC1。

我不知道是否有可能告訴VC3 VC1現在是代表。 它會在VC2下正常工作,但我想使用VC1中保存在VC3中的數據。

回答

0

如果VC1是VC2的代表,你可以只VC2的委託屬性分配給VC3

的委託財產在你VC2 @implementation VC3推送到導航堆棧前:

vc3Instance.delegate = self.delegate 
0

我建議在每個視圖控制器中添加一個名爲'master'的弱屬性,並使其指向顯示它的視圖控制器。一旦你這樣做,你就可以從VC3通過以下方式達到VC1(和它的所有數據):

VC1ViewController *vc1 = self.master.master; 
1

創建一個代表從一個類傳遞價值到另一個。在這兩個VC1和VC2 然後設置代表其中從VC2 VC1臨危和VC2臨危從VC3

然後從VC3要求委託並傳遞值。在VC2 VC2所調用的方法實現其委託的調用到VC1和value is there in vc1

VC3-->del-->VC2-->del->VC1