UserDefaults - 使用 Xcode 模拟器时不一致保存

UserDefaults - not saving consistently when using Xcode Simulator

我正在学习 iOS 开发,我偶然发现了一个问题,即 UserDefaults 似乎没有始终如一地正确保存。

当我打开应用程序时,它会检查 UserDefaults 属性 是否存在,如果存在,它会执行某些操作。现在,如果我保存 UserDefaults 属性 和 'synchronize',然后在模拟器上按停止,然后再次按 'play' 重新打开它,有时 UserDefaults 值为 nil。

我还没有在物理设备上测试过这个,但是有没有人遇到过同样的问题 - 如果有,是预料之中的吗?

也许 UserDefaults 工作正常,但是当您将一些数据保存到 UserDefaults 并重建或 运行 使用 Command + R 如果已经 运行ning 模拟器 然后有时什么都没有改变(保存的数据消失)

所以每次出现这种情况时(必须将一些数据保存到 UserDefaultsCoreDataRealm)我先停止并退出模拟器并重建或 运行 Xcode

对我来说很好用