首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSUbiquitousKeyValueStore不那么普遍吗?

NSUbiquitousKeyValueStore不那么普遍吗?
EN

Stack Overflow用户
提问于 2015-01-07 17:47:53
回答 1查看 702关注 0票数 1

我试图用NSUbiquitousKeyValueStore存储键值。在安装应用程序时,它们似乎存储得很好,但是如果我从设备上删除应用程序并再次运行应用程序,关键值似乎就丢失了。这是预期的行为,还是我错过了什么?

我存储和检索的值如下:

代码语言:javascript
复制
-(void)setString:(NSString*)stringValue forKey:(NSString*)keyValue {
    NSUbiquitousKeyValueStore *iCloudStore = [NSUbiquitousKeyValueStore defaultStore];
    [iCloudStore setString:stringValue forKey:keyValue];
    [iCloudStore synchronize];
}
-(NSString*)getStringForKey:(NSString*)keyValue {
    NSUbiquitousKeyValueStore *iCloudStore = [NSUbiquitousKeyValueStore defaultStore];
    return [iCloudStore stringForKey:keyValue];
}

我已经查过了:

  1. 我在目标功能中启用了iCloud和键值存储。
  2. 我的设备上启用了iCloud驱动器,应用程序本身也启用了。
  3. 在尝试加载值之前,我已经等待了一段时间,以确保它不仅仅是一个同步问题。
  4. 我已经按照NSUbiquitousKeyValueStoreDidChangeExternallyNotification.的NSNotificationCentre 苹果文档注册了一个观察员我的观察者从来不被调用,在安装后的第一次运行,或随后的运行。我的代码(从苹果文档中删除) name:NSUbiquitousKeyValueStoreDidChangeExternallyNotification对象:存储同步;- (void)updateKVStoreItems:(NSNotification*)notification {NSLog(@“接收数据”)};

补充问题-

  1. 有什么方法可以告诉您的数据何时与云同步?(即上传的数据)
  2. 或者相反,有什么方法可以告诉你的应用什么时候已经成功地与云同步了?(即下载的数据)我本来希望NSUbiquitousKeyValueStoreDidChangeExternallyNotification会为此发出通知,但由于我没有收到这个通知,我怀疑这仅仅是因为当另一个设备在应用程序打开时更新了数据,这一怀疑似乎得到了苹果文档的证实: NSUbiquitousKeyValueStoreServerChange -在iCloud中更改的值。当另一个设备运行您的应用程序的另一个实例并附加到同一个iCloud帐户时,就会上传一个新的值。“

EN

回答 1

Stack Overflow用户

发布于 2015-01-14 19:47:15

您是否为中的应用程序id启用了应用程序服务中的iCloud?在此之后,您还必须为应用程序创建一个配置文件。

我在代码中看到的唯一区别是"name:“参数。您需要指定要观察

代码语言:javascript
复制
[[NSNotificationCenter defaultCenter]
 addObserver: self
 selector: @selector (storeDidChange:)
 name: NSUbiquitousKeyValueStoreDidChangeExternallyNotification
 object: [NSUbiquitousKeyValueStore defaultStore]];

您的代码在我的环境中抛出一个警告。

Instance method '-addObserver:selector:object:' not found (return type defaults to 'id')

我还使用了setObject:forKey:而不是setString:forKey:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27825466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档