- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
使用“enableLocalDataStore”时,我无法将本地数据与 Parse 数据同步。如果我不使用本地存储一切都很好,但我想尽量减少对 Parse 服务器的调用。我知道如果我对新创建的对象使用“saveEventually”,这些对象将在本地保留(固定)并在互联网连接可用时与 Parse 同步。这也很好用。我的问题是我不知道用 Parse 'dataStore' 更新本地 'dataStore' 的最佳方法,除了调用远程获取更改并在本地更新的方法。目前,使用以下内容:
-(void) fetchAllFavorites{
PFQuery *query = [PFQuery queryWithClassName:@"UserStats"];
[query fromLocalDatastore];
[[query findObjectsInBackground] continueWithBlock:^id(BFTask *task) {
if (task.error) {
}
else
{
[PFObject pinAll:task.result];
}
return task.result;
}];
}
此方法不考虑 Parse“dataStore”中可能发生的更改。我可以取消固定所有本地对象并通过直接调用方法来获取 Parse 中的任何内容。但是,我认为会有更好的方法将本地更改与 Parse 'dataStore' 中的更改无缝同步吗?这不是首先允许使用“localDataStore”的想法吗?目前,我只能看到它以一种方式工作:您在本地存储数据,然后手动更新 Parse“dataStore”,但您并没有真正在它们之间进行同步。至少这是我从一些人那里得到的想法 of the examples我想知道是否有人有好的方法来解决如何:如何启用与 Parse 'dataStore' 持续同步的 'localDataStore'?任何建议和示例都会非常有帮助。我在 Cocoa 中编程,但 Java 示例也很棒。谢谢,T。
最佳答案
我的解决方案是进行本地查询,如果没有,则查询服务器。在我的设置页面中,我有一个与服务器“同步”的功能,基本上完全刷新固定对象。这不是必需的,因为每当用户编辑、删除或添加对象时,我都会调用 saveEventually
、deleteEventually
、pinInBackground
, unpinInBackground
,视情况而定。我的启动函数看起来像这样。如果未找到本地对象,则会查询服务器并将它们固定,以便下次它只会是本地对象。
PFQuery *localQuery = [PFQuery queryWithClassName:@"ClassName"];
[localQuery fromLocalDatastore]; // and any other constraints
[localQuery findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if(objects.count > 0) {
self.objects = objects;
} else {
PFQuery *remoteQuery = [PFQuery queryWithClassName:@"ClassName"];
[remoteQuery findObjectsInBackground:^(NSArray *objects, NSError *error) {
if (objects) {
self.objects = objects;
[PFObject pinAllInBackground:objects];
}
}];
}
}];
关于ios - 在 Parse 和 localDataStore 之间同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28079207/
我首先在线查询数据(没有“[query fromLocalDatastore];”)。 并“固定”它以供本地使用。 为了节省带宽,我使用“UpdatedAt”来只获取新的东西。 之后,我使用“[que
我们都知道解析服务器正在关闭,但是如果我想在没有任何解析服务器交互的情况下使用解析本地数据存储概念(不调用解析 initialize(context,appkey,masterkey)) ,那么我们如
在 Parse.setApplicationId 之前,我的应用程序委托(delegate)中有 Parse.enableLocalDatastore() 然后我将 var newPosts = PF
我正在尝试将 parse (iOS sdk v1.6.0 ) 与 is with switch 一起使用,并遵循我制作的文档: func application(application: UIAppl
我正忙于查询我存储在我的 Parse localDataStore 中的项目。我在 LocationLogs 类(Parse 类)/中存储了 6 个字段。这些字段是 image、Lat、long、al
美好的一天!我在我的 swift 项目中使用 Parse,现在我的问题是加载查询或对象并将其保存到 localDataStore,我尝试了这种方法 override func tableView(ta
我有一个播客应用程序。当用户点击订阅按钮时,我在我的对象上执行以下代码: PFObject.pinAllInBackground(self.episodesToSendToParse)
我在我的 swift 应用程序上启用了 Parse local-datastore。我想将远程数据与本地同步,但我遇到了指针数组的问题。 我有一个这样的 PFSubclass : class Shot
使用“enableLocalDataStore”时,我无法将本地数据与 Parse 数据同步。如果我不使用本地存储一切都很好,但我想尽量减少对 Parse 服务器的调用。我知道如果我对新创建的对象使用
嗨,有人可以帮我进行 parse.com 查询和计算吗?我想从我的 localDatastore 计算 parse.com 中的列总和 (DEBT),如果第一个选项不可行,则从 Web 计算。我尝试将
使用以下查询,我想获得一个仅包含列子集的 ParseUsers 列表,定义到 queryColumns 列表中。我成功收到了结果,但是当我尝试将它们固定到本地数据存储区时,我收到了异常: com.pa
我更新到最新的解析 SDK 1.6.2 以利用 localDatastore。不幸的是,我无法检索固定对象。最简单的实现: - (void)queryForPinning{ if ([PFUser c
我最近开始使用 Parse-Server 并迁移了我的 Parse 应用程序,现在当我尝试使用 Parse Local DataStore 时,我收到以下错误: *** 由于未捕获的异常“NSInte
我是一名优秀的程序员,十分优秀!