我正在開發iPhone的應用程序,我需要將消息從topViewController
發送到rootViewController
。將消息從topViewController發送到iOS中的rootViewController
一種解決方案可能是在導航堆棧中的每個VC中創建委託方法並相應地調用,以便消息將達到rootViewController
。但在這種情況下,消息必須通過整個導航堆棧。
任何機構可以幫助我在此用最好的辦法
感謝
我正在開發iPhone的應用程序,我需要將消息從topViewController
發送到rootViewController
。將消息從topViewController發送到iOS中的rootViewController
一種解決方案可能是在導航堆棧中的每個VC中創建委託方法並相應地調用,以便消息將達到rootViewController
。但在這種情況下,消息必須通過整個導航堆棧。
任何機構可以幫助我在此用最好的辦法
感謝
一種選擇是訪問rootViewcontroller
爲,
RootViewController *rootViewController = (RootViewController *)[self.navigationController.viewControllers objectAtIndex:0];
,然後做這個對象上進行必要的操作。 navigationController.viewControllers
返回導航堆棧中的所有viewControllers。
在任何topViewController方法可以提取導航堆棧的RootViewController的 通過
[self.navigationController.viewControllers objectAtIndex:0];
和下面發佈的答案不一樣嗎? – iDev
@ACB:是的..也許..i是第二個遲到的一小部分發布這個:B – AppleDelegate
,謝謝,我用同樣的方法,但有人說,它可能會導致循環依賴之類的事情,並可能導致內存泄漏等請告知 –
@AbdusSamad,這不會導致任何循環依賴。 'navigationController.viewControllers'是navigationController可用的一個屬性,它可以在任何地方使用。在這種情況下,您只是訪問第一個對象並在其上做些事情。確保你沒有保留在你的課堂上。 – iDev
好的,爲我工作。感謝您的快速回答。 –