gpt4 book ai didi

iOS SWRevealViewController - 在 Controller 之间传递数据

转载 作者:可可西里 更新时间:2023-11-01 05:33:58 25 4
gpt4 key购买 nike

我正在使用 SWRevealViewController 在我的应用程序中实现滑动菜单(从左侧开始)。一切正常,但现在我遇到了一个小问题。我想从我的“主” View Controller (完全可见的 View Controller ,我不称它为“frontViewController”,因为它似乎不是前面一个)。我已经尝试了所有我能想到的访问幻灯片菜单 Controller 并将数据传递给它的可能性。这是我尝试过的:

(MyControllerClass*)self.revealViewController.rearViewController
(MyControllerClass*)self.revealViewController.frontViewController

比起我尝试了self.revealViewController.navigationController[0]self.revealViewController.navigationController[1],还有这个,self.revealViewController。 viewControllers[0]self.revealViewController.viewControllers[1]。下一步是实现 prepareforsegue 并监听 segue 标识符 sw_frontsw_rear。但在这些情况之外,我在检查 isKindOfClass[MyControllerclass class] 时得到了 true。我认为这是因为所有这些都是 SWRevealViewController 类型,不是吗?而且,prepareForSegue 根本没有被调用,但一切都正常显示

我的主要问题是,如何在侧边菜单和“主”(又名前端) Controller 之间传递数据(其他方式也可以)?

谢谢

最佳答案

我得到了答案。您不能通过 SWRevealViewController 直接访问您自己的 Controller (因为它连接到 NavigationController)。首先你得到你想要的 navigationController 并通过它们访问你的 Controller (并传递数据)。这是该理论的代码:

UINavigationController* rearNavigationController = (UINavigationController*)self.revealViewController.rearViewController; 
//here you get the navigationController which is connected to the controller you want, in my case i want the rear controller

if ([rearNavigationController.topViewController isKindOfClass[MyCustomViewController]]) {
MyCustomViewController* iWantYouController = (MyCustomViewController*)rearNavigationController.topViewController;
}

就是这样。现在您可以访问(和设置)自定义 Controller 上的每个属性

关于iOS SWRevealViewController - 在 Controller 之间传递数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27659343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com