gca*_*amp 8 iphone cocoa nsuserdefaults icloud nsubiquitouskeyvaluestore
关于如何使用NSUbiquitousKeyValueStore边缘情况的文档不清楚.
如果我想设置一个值,我理解我应该为两者设置一个值NSUserDefaults,NSUbiquitousKeyValueStore因为可以禁用iCloud.但是,在我的测试中,[NSUbiquitousKeyValueStore defaultStore]即使禁用了iCloud(在Mac OS上测试),也会返回有效对象.
另外,据我所知,如果启用iCloud,则将NSUbiquitousKeyValueStore值存储到磁盘(并可离线使用).如果您确定数据少于64KB,使用NSUserDefaults的原因是什么?
ela*_* s 1
这是一个由 Mugunth Kumar 编写的简单类(感谢!),可以为您完成工作...除非您有特殊需求,添加一行代码,它将完成对 iCloud 的所有读取和写入操作...您需要的一切要做的就是像往常一样读取和写入 NSUserDefaults...
编辑:
小心,如果您从 NSUserDefaults 中删除一个项目,我上面链接的代码将不会从云中删除该项目。每当您从 NSUSerDefaults 中删除项目时,请对 NSUbiquitousKeyValueStore 执行相同的操作,如下所示:
NSUbiquitousKeyValueStore* keyValueStore=[NSUbiquitousKeyValueStore defaultStore];
[keyValueStore removeObjectForKey: yourKey];
Run Code Online (Sandbox Code Playgroud)