使用汉堡菜单时访问另一个视图控制器中的变量的问题

Posted

技术标签:

【中文标题】使用汉堡菜单时访问另一个视图控制器中的变量的问题【英文标题】:Issue with accessing a variable in another viewcontroller while using a hamburger menu 【发布时间】:2017-08-16 07:25:05 【问题描述】:

在某个视图控制器中说“viewcontroller1”,单击按钮时我正在设置一个变量。现在我点击我的汉堡按钮(使用 SWRevealViewController 创建)并转到另一个视图控制器,我想在另一个视图控制器中使用我在 viewcontroller1 中设置的值。我怎样才能做到这一点..另外,我正在使用 swift。

【问题讨论】:

SWRevealViewController 是自定义子类吗?另外你是如何从 viewcontroller1 到 viewcontroller2 的?通常,您会在 prepare(for segue:) 中为 viewcontroller2 进行设置,将值传递给目标 viewController。 No..SWRevealViewController 是汉堡菜单的第三者。在使用 SWRevealViewController 时,准备(用于 segue :)。未使用。 你如何去另一个视图控制器显示你的代码!! 【参考方案1】:

您可以在 App Delegate 中设置一个变量,例如..'myVariable'。在您的“viewcontroller1”中,您可以将变量设置为“appDelegate.myVariable”。您也可以使用这种格式从另一个视图控制器访问变量。

【讨论】:

应尽可能避免在 App Delegate 中设置变量,因为它会创建全局状态,这被认为是一种不好的编码习惯。理想情况下,数据应该传递/注入到其他视图控制器。

以上是关于使用汉堡菜单时访问另一个视图控制器中的变量的问题的主要内容,如果未能解决你的问题,请参考以下文章

汉堡菜单/侧边菜单外观错误

在导航到另一个视图控制器之前切换标签栏

如何在键盘可访问性焦点上关闭汉堡菜单

如何在键盘可访问性焦点上关闭汉堡菜单

汉堡菜单/侧面菜单出现错误

如何从“菜单”视图控制器在现有 UIViewControllers 之间导航?