NSUserDefault 错误。调用时 Int 显示为字符串
NSUserDefault Error. Int is appearing as a string when called
我正在开发一个涉及使用 NSUserDefaults 的应用程序。我已经成功保存了两个字符串,目前正在尝试保存一个 int。
这是代码
var number = Int(0)
override func viewDidLoad() {
super.viewDidLoad()
let numberOne = NSUserDefaults.standardUserDefaults()
numberOne.setValue(number, forKey: "num")
let numberTwo = numberOne.stringForKey("num")
if numberTwo > 1
{
//will insert code later
}
我的错误是 numberTwo 显示为字符串。这是我第一次尝试使用 NSUserDefault,所以,我是一个新手,但是,任何帮助都将不胜感激。
如果您的值为 Int
,您可以使用 (Swift 3)
检索它
let numberTwo = numberOne.integer(forKey: "num")
如果Swift 2 我相信是
let numberTwo = numberOne.integerForKey("num")
您可以查看 UserDefaults API Reference 以获得更多详细信息和更多选项(例如 object(forKey:)
、string(forKey:)
...)
如果您想将其视为整数值,您应该使用 setInteger:forKey: and integerForKey::
设置(保存)并获取整数值
var number = Int(0)
override func viewDidLoad() {
super.viewDidLoad()
let numberOne = NSUserDefaults.standardUserDefaults()
numberOne.setInteger(number, forKey: "num")
let numberTwo = numberOne.integerForKey("num") // 0
if numberTwo > 1
{
//will insert code later
}
}
我正在开发一个涉及使用 NSUserDefaults 的应用程序。我已经成功保存了两个字符串,目前正在尝试保存一个 int。
这是代码
var number = Int(0)
override func viewDidLoad() {
super.viewDidLoad()
let numberOne = NSUserDefaults.standardUserDefaults()
numberOne.setValue(number, forKey: "num")
let numberTwo = numberOne.stringForKey("num")
if numberTwo > 1
{
//will insert code later
}
我的错误是 numberTwo 显示为字符串。这是我第一次尝试使用 NSUserDefault,所以,我是一个新手,但是,任何帮助都将不胜感激。
如果您的值为 Int
,您可以使用 (Swift 3)
let numberTwo = numberOne.integer(forKey: "num")
如果Swift 2 我相信是
let numberTwo = numberOne.integerForKey("num")
您可以查看 UserDefaults API Reference 以获得更多详细信息和更多选项(例如 object(forKey:)
、string(forKey:)
...)
如果您想将其视为整数值,您应该使用 setInteger:forKey: and integerForKey::
设置(保存)并获取整数值var number = Int(0)
override func viewDidLoad() {
super.viewDidLoad()
let numberOne = NSUserDefaults.standardUserDefaults()
numberOne.setInteger(number, forKey: "num")
let numberTwo = numberOne.integerForKey("num") // 0
if numberTwo > 1
{
//will insert code later
}
}