iOS - UserDefaults是否同步保存?

5

UserDefaults的操作是同步的吗?例如,第二次保存会等待第一次保存完成吗?

UserDefaults.standard.set(myValue1, forKey: "myValue1")
UserDefaults.standard.set(myValue2, forKey: "myValue2")

还可以参见 https://dev59.com/s1kR5IYBdhLWcg3w0QNL 相关细节,这可能有助于澄清正在发生的事情。 - rmaddy
1
是的,它是“同步”的。此外,没有带有完成块的保存函数。 - TheTiger
1个回答

10

来自苹果公司的文档

在运行时,你可以使用UserDefaults对象从用户的默认数据库中读取应用程序使用的默认值。UserDefaults会缓存这些信息,以避免每次需要默认值时都要打开用户的默认数据库。当你设置一个默认值时,它会在你的进程内同步更改,并异步地写入永久存储和其他进程。


所以它没有保证值会持久化,呃。 - urSus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接