应用程序关闭后如何快速保存全局变量?

Posted

技术标签:

【中文标题】应用程序关闭后如何快速保存全局变量?【英文标题】:How do you save a global variable in swift once app has closed? 【发布时间】:2019-11-30 20:08:35 【问题描述】:

我在“视图控制器 1”中创建了一个全局变量,它在我的 3 个不同的视图控制器中正确显示。 我在“视图控制器 2”中增加这个全局变量,并在“视图控制器 3”中显示结果。这一切都正常运行。

我的问题是,当我关闭应用程序时,我的全局变量会重置为最初分配的值。这是“视图控制器1”中的一些代码:

var globalScore = 1

import UIKit

class ViewController: UIViewController 


    override func viewDidLoad() 
        super.viewDidLoad()

还有“视图控制器 2”中的一些代码:

UserDefaults.standard.set(globalScore, forKey: "savedLevel")

有人可以举一个基本的例子来说明如何在应用关闭后保存全局变量吗?

谢谢

【问题讨论】:

如何使用这个全局变量? 我正在创建一个问答游戏,全局变量是一个分数整数。每次正确回答答案时,此整数都会增加 1。当用户在关闭应用程序后再次进入应用程序时,他们仍然应该从相同的问题编号开始(即分数仍然相同) 【参考方案1】:

var globalScore:Int  
    get 
        return UserDefaults.standard.integer(forKey:"savedLevel")
    
    set 
     UserDefaults.standard.set(newValue, forKey: "savedLevel")
   
 

【讨论】:

我已经编辑了我的原始 Q,我在“视图控制器 1”中声明了我的全局分数,但我在“视图控制器 2”中将它设置为一个新值。我怎样才能利用你的代码呢?或者我应该以不同的方式构建我的代码?任何 cmets 将不胜感激。谢谢

以上是关于应用程序关闭后如何快速保存全局变量?的主要内容,如果未能解决你的问题,请参考以下文章

关闭程序后如何保存数据?

如何在flutter中将token设置为全局变量?所以我可以随时随地访问令牌

iOS程序中的内存分配 栈区堆区全局区(转)

在 Access 中是不是可以从全局函数中关闭变量?

PHP超级全局变量——Session 变量

如何使用数据更新此变量 [关闭]