我想在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