gpt4 book ai didi

iOS - UserDefaults 源文件替换

转载 作者:行者123 更新时间:2023-11-29 00:10:44 26 4
gpt4 key购买 nike

我正在我的应用中实现备份功能。因此,我正在备份所有 UserDefaults 都保存在以下路径的 UserDefaults 源文件:

.../Library/Preferences/<Bundle Identifier>.plist

当用户恢复备份时,我将用备份文件替换此文件。

问题:该应用继续使用旧的 UserDefaults。只有当我重新启动应用程序时,更改才会应用。我怎样才能告诉 Xcode 再次加载源文件?

最佳答案

您不应该备份 plist 文件,当然也不应该尝试替换 plist 文件。 [NS]UserDefaults 碰巧在您应用的沙箱中使用特定的 plist 文件这一事实是您不应依赖的实现细节。这可能会在未来的任何 iOS 更新中改变。

使用 [NS]UserDefaults 提供的 API。

执行备份时,使用 dictionaryRepresentation 获取表示内容的字典。然后以您希望的任何方式保存此字典作为备份的一部分。

执行恢复时,加载您的持久字典。然后使用 resetStandardUserDefaults 重置用户默认值,然后使用 set(_:forKey:) 方法为每个键迭代存储每个键/值对到用户默认值中的检索字典/值对。

关于iOS - UserDefaults 源文件替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46567683/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com