如何在 Objective-C iOs 8 上将 ParseObject 存储在本地数据存储和 Parse Cloud 中?

How do I store ParseObject in both Local Datastore and Parse Cloud on Objective-C iOs 8?

我想将我的所有对象都保存在本地和云中,并且只从本地数据存储中读取。我所有的对象都应该保存在本地和在线商店中,本地数据存储应该同步到 Parse Cloud。

我希望我的应用程序可以脱机工作以便随处使用,但尽快将所有数据保存在云中 NetConnection 可用!

谢谢

首先您需要启用本地数据存储:

[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