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
    }
}