来自Apple 的 NSUbiquitousKeyValueStore 文档:
如果您在用户未登录 iCloud 帐户时写入键值存储对象,则数据将存储在本地,直到下一次同步机会。当用户登录 iCloud 帐户时,系统会自动将您的本地磁盘键和值与 iCloud 服务器上的键和值进行核对。
因此,如果用户从未登录 iCloud 帐户,则键值存储对象将无限期地存储在本地,就像 NSUserDefaults 一样。
在这种情况下,我们是否都应该停止使用 NSUserDefaults 而只使用 NSUbiquitousKeyValueStore 作为所有应用程序的“默认值”?这种方法的缺点是什么?
我可以看到的一个优势是,从用户的角度来看,应用偏好将在他们的所有设备上同步,这很可能是更好的用户体验!