Указатели данные не хранятся в локальной базе данных parse ios

У меня есть запрос со многими includeKeys, которые являются указателями на другой класс. После получения данных из облака разбора все записи хранятся локально с помощью метода pinAll. Когда я получаю обратно сохраненные результаты, я могу получить записи, но без указателей. Смотрите пример кода ниже

[query includeKey:@"classOne.innerClass"];
[query includeKey:@"classTwo.innerClass"];
[query includeKey:@"classThree"];
[query includeKey:@"classFour"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error){
   [PFObject pinAllInBackground:objects withName:@"LocalRecords" block:^(BOOL succeeded, NSError *error) {

   }];
}];

И я получаю записи, как

PFQuery *lquery = [PFQuery queryWithClassName:[ClassName parseClassName]];
   [lquery fromPinWithName:@"LocalRecords"];
   BFTask *btask = [[lquery findObjectsInBackground] continueWithSuccessBlock:^id(BFTask *task) {
        if (task.error) {
            NSLog(@"Error: %@", task.error);
            return task;
        }
   }];

Когда я пытаюсь получить доступ к любому из столбцов в classOne, classTwo, classThree и classFour, я получаю исключение Завершение работы приложения из-за необработанного исключения "NSInternalInconsistencyException", причина: "Имя ключа" не содержит данных. Вызовите fetchIfNeeded до получения его значения.'

1 ответ

Это была ошибка в функциональности локального хранилища данных Parse.com для iOS.

Из примечаний к выпуску 1.6.3:

"Улучшена согласованность запросов Local Datastore / Parse со значениями includeKey: и NSNull".

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