我想在UserDefaults
中保存一些值。而我使用這段代碼保存缺少用戶默認值
func SaveSettings(){
let def = UserDefaults.standard
def.set("test", forKey: "Value1")
def.set(myString, forKey: "Value2") //value: test1
def.set(myInt, forKey: "Value3") //value: 25
def.set(myInt64, forKey: "Value4") //value: 103254
def.synchronize() //I've tried to remove this line
}
節省我用這個代碼來控制,如果我的值保存在UserDefaults
或不
for (key, value) in UserDefaults.standard.dictionaryRepresentation() {
print("\(key) = \(value) \n")
}
而看到這樣的結果
{
Value1 = test
Value2 = test1
Value3 = 25
Value4 = 103254
}
後直到現在還沒有任何問題。但我重啓後的應用程序,並期待在值UserDefaults
我看到這個結果
{
Value1 = test
Value2 =
}
正如你看到的Value3
廣告Value4
丟失。但是Value2
和Value1
停留。但Value2
的值缺失
'let def = UserDefaults.standart'不能編譯,這意味着這不能成爲你真正的代碼。 –
對不起。這將是'標準的' –
你有沒有在代碼中的任何地方調用'.removeObject(forKey:)'? – nayem