如何在 Objective-C iOs 8 上将 ParseObject 存储在本地数据存储和 Parse Cloud 中?
Posted
技术标签:
【中文标题】如何在 Objective-C iOs 8 上将 ParseObject 存储在本地数据存储和 Parse Cloud 中?【英文标题】:How do I store ParseObject in both Local Datastore and Parse Cloud on Objective-C iOs 8? 【发布时间】:2015-07-20 16:23:00 【问题描述】:我想将我的所有对象都保存在本地和云端,并且只从本地数据存储中读取。我的所有对象都应保存在本地和在线商店中,并且本地数据存储应同步到 Parse Cloud。
我希望我的应用程序可以离线工作,以便在任何地方使用它,但尽快将所有数据保存在云中,NetConnection 可用!
谢谢
【问题讨论】:
【参考方案1】:首先你需要启用本地数据存储的使用:
[Parse enableLocalDatastore];
接下来,我总是使用
将新的 PFObject 保存到本地数据存储区PFObject *userStat;
[userStat saveEventually];
这会将您的对象固定到本地数据存储并将其保存到云端(最终)。如果您想用云中的数据重置所有本地存储的数据,您可以;首先取消固定所有本地对象,然后获取所有远程对象并将它们固定在本地:
[PFObject unpinAllObjects];
PFQuery *query = [PFQuery queryWithClassName:@"UserStats"];
[query whereKey:@"parent" matchesQuery:query];
return [[query findObjectsInBackground] continueWithBlock:^id(BFTask *task)
if (task.error)
return nil;
return [[PFObject pinAllInBackground:task.result] continueWithBlock:^id(BFTask *task)
return task;
];
];
本地查询可以使用:
[query fromLocalDatastore];
Parse 对这些方法有很好的文档here。
【讨论】:
感谢它的工作!但是我最终无法保存 pFfile ...在这种情况下您如何继续离线保存图片?谢谢 我收到此错误 [错误]:捕获“NSInternalInconsistencyException”,原因是“无法最终保存与新的未保存 PFFile 相关的 PFObject。” 不知道是什么导致了您的错误,但请查看此处的讨论:***.com/questions/28136175/… 和此处***.com/questions/28132351/… 看看***.com/questions/30213808/…以上是关于如何在 Objective-C iOs 8 上将 ParseObject 存储在本地数据存储和 Parse Cloud 中?的主要内容,如果未能解决你的问题,请参考以下文章
iOS:在 iOS 7 和 iOS 8 上将约束应用于子视图的自动布局差异
为啥触摸 SCNView 顶部的滑块会在 iOS 8/Swift 上将相机移动到下方?