在Swift 4中刷新userdefaults
是否可以刷新Swift4中的用户默认值?扫描新产品后,这些值会更改,并且它们存储在用户默认值中。所以当你扫描一个新产品时,用户默认必须刷新。在Swift 4中刷新userdefaults
我希望有人对我来说
回答:
设置userdefaults为您设置第一次用相同的密钥的解决方案。
UserDefaults.standard.set(value, forKey: key)
回答:
试试这个。之前设置删除和同步it.this可能会解决您的问题
func setValueToDefaults(key:String, value:AnyObject){ self.removeKeyValueFromDefaults(Key:key)
UserDefaults.standard.set(value, forKey: key)
}
func getValueFromDefaults(key:String) ->AnyObject?{
if((UserDefaults.standard.value(forKey: key)) != nil){
let value:AnyObject = UserDefaults.standard.value(forKey: key)! as AnyObject
return value
}else{
return nil
}
}
func removeKeyValueFromDefaults(Key:String){
let defaults = UserDefaults.standard
defaults.removeObject(forKey: Key)
defaults.synchronize()
}
回答:
作为一种变通方法来实现它,你可以声明一个计算属性获取/设置从用户的默认值,例如:
var flag: Bool { get {
let value = UserDefaults.standard.bool(forKey: "flag_key")
return value
}
set {
UserDefaults.standard.set(newValue, forKey: "flag_key")
UserDefaults.standard.synchronize()
}
}
读取flag
的值会从用户默认值(“flag_key”键)返回布尔值,编辑其值也会反映到用户默认值中。
以上是 在Swift 4中刷新userdefaults 的全部内容, 来源链接: utcz.com/qa/263527.html