【发布时间】:2017-08-21 07:21:30
【问题描述】:
我想在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 =
}
如您所见,Value3ad Value4 不见了。但是Value2 和Value1 仍然存在。但是Value2 的值丢失了
【问题讨论】:
-
let def = UserDefaults.standart无法编译,这意味着这不是您的真实代码。 -
对不起。应该是
standard -
您是否在代码中的任何位置调用过
.removeObject(forKey:)? -
没有。我没打过电话
-
标签: swift3 userdefaults