Как сохранить ParseObject в локальном хранилище данных и в облаке Parse в Objective-C iOs 8?

Я хотел бы сохранить все свои объекты как локально, так и в облаке и читать только из локального хранилища данных. Все мои объекты должны быть сохранены как в локальном, так и в интернет-магазине, а локальное хранилище данных должно быть синхронизировано с Parse Cloud.

Я хочу, чтобы мое приложение работало в автономном режиме, чтобы использовать его везде, но сохраняя все данные в облаке как можно скорее, NetConnection доступна!

Спасибо

1 ответ

Решение

Прежде всего вам необходимо включить использование локального хранилища данных:

[Parse enableLocalDatastore];

Затем я всегда сохраняю новый объект PFO в локальное хранилище данных, используя

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 имеет хорошую документацию этих методов здесь.

Другие вопросы по тегам