是否可以刷新Swift4中的用戶默認值?掃描新產品後,這些值會更改,並且它們存儲在用戶默認值中。所以當你掃描一個新產品時,用戶默認必須刷新。在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」鍵)返回布爾值,編輯其值也會反映到用戶默認值中。
是的,如果您爲將要覆蓋的密鑰重新分配一個值,那麼您可以覆蓋UserDefaults – Scriptable
中的值。 UserDefaults.standard.set(value,forKey:key) – adarshaU
@Scriptable我該怎麼做?當我掃描產品時,我需要這樣做。然後,值必須更改 – bartvdb