UserDefaults - 使用 Xcode Simulator 时保存不一致

Posted

技术标签:

【中文标题】UserDefaults - 使用 Xcode Simulator 时保存不一致【英文标题】:UserDefaults - not saving consistently when using Xcode Simulator 【发布时间】:2017-01-27 10:58:41 【问题描述】:

我正在学习 ios 开发,但偶然发现了 UserDefaults 似乎无法始终正确保存的问题。

当我打开应用程序时,它会检查是否存在 UserDefaults 属性,如果存在,它会执行一些操作。现在,如果我保存 UserDefaults 属性并“同步”,然后在模拟器上按停止,然后再次按“播放”重新打开它,有时 UserDefaults 值为零。

我还没有在物理设备上对此进行过测试,但是有人遇到过同样的问题吗?如果是这样,这是预期的吗?

【问题讨论】:

【参考方案1】:

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

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

对我来说很好用

【讨论】:

我会试一试,所以你说的是在按下“播放按钮”之前退出模拟器?

以上是关于UserDefaults - 使用 Xcode Simulator 时保存不一致的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Xcode 中终止并重新打开应用程序后检查 UserDefaults (swift)

在 UserDefaults 中存储 OpaquePointer 类型

Swift UserDefaults (2017)

如何在 Xcode 9.2 中的应用程序构建中保存登录凭据

iOS UserDefaults 落后于保存的内容

SwiftUI:如何使用 UserDefaults 持久化 @Published 变量?