我正在尝试保存一个整数,以便在我切换页面或关闭游戏后显示它。我这样做是为了更改数字,但是当我切换页面并在返回该页面时加载它时如何保存该数字。
更改代码:
@IBAction func MoneyPress(sender: AnyObject) {
Money += 1
var MoneyNumberString:String = String(format: "Dollars:%i", Money)
self.DollarsLabel.text = (string: MoneyNumberString)
}
答案 0 :(得分:4)
如果不是很多数据,我用来保存数据,在页面之间传递,并在应用程序运行之间保留它的策略是将值存储在NSUserDefaults
中。
设置值:首次获取或更改数据时,请将其存储在NSUserDefaults
。
@IBAction func MoneyPress(sender: AnyObject) {
Money += 1
var MoneyNumberString:String = String(format: "Dollars:%i", Money)
self.DollarsLabel.text = (string: MoneyNumberString)
let defaults: NSUserDefaults = NSUserDefaults.standardUserDefaults() //This class variable needs to be defined every class where you set or fetch values from NSUserDefaults
defaults.setObject(MoneyNumberString, forKey: "money")
defaults.synchronize() //Call when you're done editing all defaults for the method.
}
加载值:当您需要获取值时,只需从NSUserDefaults
抓取它。
@IBAction func loadButton(sender: UIButton) {
let defaults: NSUserDefaults = NSUserDefaults.standardUserDefaults()
var money = defaults.valueForKey("money") as? String
dollarLabel.text! = money
}
要删除存储的数据,您只需为之前设置的每个键调用removeObjectForKey函数。
let defaults: NSUserDefaults = NSUserDefaults.standardUserDefaults()
defaults.removeObjectForKey("money")
defaults.synchronize()
有关NSUserDefaults的有用资料:
NSUserDefulats
课程参考:链接here。
答案 1 :(得分:4)
您可以使用NSUserDefaults。
NSUserDefaults.standardUserDefaults().setInteger(money, forKey: "MoneyKey");
NSUserDefaults.standardUserDefaults().integerForKey("MoneyKey");
因此可以检索viewDidLoad
中的值并加载数据:
override func viewDidLoad()
{
super.viewDidLoad()
loadWebView()
var money = NSUserDefaults.standardUserDefaults().integerForKey("MoneyKey");
}
当您第一次来到视图时,资金的价值将 0 。
如果您需要从NSUserdefaults
中移除值,可以使用:
NSUserDefaults.standardUserDefaults().removeObjectForKey("MoneyKey")