NSUserDefault错误。 Int在调用时显示为字符串
问题描述:
我正在研究一个涉及使用NSUserDefaults的应用程序。我已经成功保存了两个字符串,并且正在尝试保存一个int。NSUserDefault错误。 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,所以,我是一个新手,但任何帮助表示赞赏。
答
如果您想将其视为整数值, ULD集(保存),并获得价值为整数,通过使用setInteger:forKey:和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
}
}
+0
谢谢!像魅力一样工作。 – NICK
答
如果你的价值是一个Int
你可以用(SWIFT 3)检索
let numberTwo = numberOne.integer(forKey: "num")
如果斯威夫特2我相信这是
let numberTwo = numberOne.integerForKey("num")
你可以看看UserDefaults API Reference更多详细信息和更多选项(如object(forKey:)
,string(forKey:)
...)
看来你所要求的字符串表示,这样你得到它:stringForKey – Volker
因为你问字符串,它给你stringForKey' –
您正在比较苹果('String')和橙子('Int'),并且从不使用'setValue:forKey'和用户默认值。 – vadian