在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")