ios - 在 Xcode Swift 上保存和加载一个整数

标签 ios xcode swift persistence nsuserdefaults

我正在尝试保存一个整数,以便它在我切换页面或关闭游戏后显示。我这样做是为了更改号码,但是如何在切换页面时保存该号码并在返回该页面时加载它。

更改代码:

@IBAction func MoneyPress(sender: AnyObject) {

Money += 1

var MoneyNumberString:String = String(format: "Dollars:%i", Money)
self.DollarsLabel.text = (string: MoneyNumberString)

}

最佳答案

如果数据不是很多,我用来保存数据、在页面之间传递数据并在应用程序运行之间持久保存数据的策略是将值存储在 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 .

关于ios - 在 Xcode Swift 上保存和加载一个整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27642492/

相关文章:

objective-c - 在 Objective-C 中使用 CACornerMask

ios - 使用实例填充 UITableview 来填充数组

ios - 为什么找不到 XCTest/XCTest.h?

ios - 当用户在字段中键入至少一个字符时,uitextfield rightView 可见

ios - 设置 RootViewController 时的方向问题

xcode - 快速 Xcode 单元测试 : Cannot convert value of type "Person" to expected argument type "Person"

objective-c - viewDidLoad 中的 CoreData performFetch 不起作用

iphone - iPhone 模拟器中的白色空白屏幕和加载到 iPhone 中时的黑色空白屏幕

iphone - ios 6.1.1设备将无法运行xcode 4.6

ios - Apple登录使用访问 token 获取用户数据