2011-10-26 43 views
1

我有一個導航控制器parentViewController如何在Objective-C中將委託設置爲擁有視圖?

我在導航控制器上按下了一個視圖。現在我可以輕鬆地將它的代理設置爲self(使其指向我的parentViewController),但是從子視圖中,我會將下一個視圖和下一個視圖推送到navigationcontroller。現在我想讓最後一個視圖的委託點指向父視圖。

例如

parentWindowController (navigationController) 
  • firstViewController - > secondViewController - > thirdViewController

是否有可能從它的初始化中設置thirdViewControllerparentWindowController委託?

第三個視圖是在第二個視圖中創建的,因此我無法在開始時對其進行設置。

我想知道如何引用parentWindow。

這可能是錯誤的方法,請讓我知道,如果它可以做得更容易/更好?

+1

不應該所有的視圖都由viewController控制嗎? – lampShade

+0

你的意思是由ParentViewController?不,我想不是,我只想從一些子視圖發送一些消息到父窗口視圖控制器(它只有導航控制器和一些對所有這些視圖都有用的邏輯)。 – Roderik

+0

應該有一個parentView方法(或類似的東西) – Daniel

回答

0

我通過爲parentViewController中的firstViewController分配委託解決了這個問題。

現在,當我創建第二個視圖控制器時,我傳遞了這個委託。當我創建第三個視圖控制器時,我可以將委託設置爲最初傳遞的委託。這工作。

但我仍然好奇,如果有可能直接從ThirdViewController內做到這一點,而不通過它。

+0

難道你不只是'[[[thirdViewController parentViewController] parentViewController]委託]'?我不是IOS程序員,但這似乎應該工作 – Daniel