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