如何在不同的视图控制器之间更改相同的值?
Posted
技术标签:
【中文标题】如何在不同的视图控制器之间更改相同的值?【英文标题】:How can i change the same value between different view controllers? 【发布时间】:2020-03-08 05:19:16 【问题描述】:我对 swift/programming 非常陌生,如果这是一个愚蠢的问题,很抱歉,如果我的问题不够清楚,我很抱歉。
名为“Money”的黄色标签在每个视图控制器中必须是相同的值,所以如果第一个视图控制器中的当前值是 1000,那么在第二个视图控制器中它也是 1000。
现在我按下那个按钮,上面写着“加钱 200”,而不是 1000,黄色标签现在有 1200。再次按下“加钱 200”,我得到 1400。在第二个 VC 中按下“加钱 400”,然后现在我得到了 1800。回到第一个 VC 并一遍又一遍地做。
我该怎么做?我搜索了答案,我发现的唯一一件事是如何将一个价值从一个 VC 转移到另一个,但我还没有找到任何地方如何来回转移价值。
那么谁能告诉我我该怎么做呢?或者至少为我指明正确的方向?
感谢您的关注:)
【问题讨论】:
不要在单独的view controller
中存钱value
。相反,保存在全局变量中并在 view will appear
中更新。
【参考方案1】:
在您的 AppDelegate 中创建名为 money 的静态变量。
static var money = 1000
更新每个控制器的 viewWillAppear 中的黄色标签。
override func viewWillAppear(_ animated: Bool)
super.viewWillAppear(animated)
yellowLbl.text = AppDelegate.money
您可以在代码中的任何位置更新变量。如果你想增加 200 的钱,你可以这样做。
AppDelegate.money += 200
【讨论】:
以上是关于如何在不同的视图控制器之间更改相同的值?的主要内容,如果未能解决你的问题,请参考以下文章
iOS - 如何在 Swift 的不同视图控制器中使用小视图