在Swift中创buildIntegertypes的NSUserDefault

我试图做一个NSUserDefaultvariables存储整数值这里是我的代码现在。

NSUserDefaults.standardUserDefaults().setObject(0, forKey: "HighScore") 

当我input一个数字作为原始值时,它将其标识为UInt8而不仅仅是一个Int。 我如何改变这个?

谢谢,布伦南

Swift 3:

你可以使用Swift提供的set(Int, forKey: String)方法:

 //Set UserDefaults.standard.set(yourInt, forKey: "intKey") //Get UserDefaults.standard.integer(forKey: "intKey") 

Swift 2:

你可以使用setIntegerForKey – 方法Swift提供:

 let defaults = NSUserDefaults.standardUserDefaults() //Set defaults.setInteger(yourInt, forKey: "intKey") //Get defaults.integerForKey("intKey") 

请注意,在Swift 3的最新版本中,您不必指定数据types。 写吧:

 UserDefaults.standard.set(DataType, forKey:"DATAKEY") 

例:

 UserDefaults.standard.set(5, forKey:"MY_INTEGER") UserDefaults.standard.set("", forKey:"MY_STRING") UserDefaults.standard.set(true, forKey:"MY_BOOLEAN") 

有关更多信息以及如何检索存储的数据types,请参阅此Apple文档 。

 setObject(value: AnyObject?, forKey: String) 

正如你所看到的,你提供的值是AnyObjecttypes的。 只需将您的值包装在Int()

 NSUserDefaults.standardUserDefaults().setObject(Int(0), forKey: "HighScore")