Данные указателей не хранятся в локальной базе данных синтаксического анализа 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 перед получением значения.'


person san    schedule 20.12.2014    source источник
comment
Прежде чем вы сможете получить данные из локальной базы данных, вы должны указать запросу, где он должен искать [query fromLocalDatastore];   -  person jsetting32    schedule 21.12.2014
comment
Я уже использую это..... Не повезло   -  person san    schedule 22.12.2014
comment
Мне тоже интересно узнать больше об этой проблеме. С какой версией iOS SDK вы это тестировали?   -  person fatuhoku    schedule 19.01.2015
comment
А что у вас с stackoverflow.com/a/27586395/590767?   -  person fatuhoku    schedule 19.01.2015
comment
@fatuhoku Я работаю с новейшей средой. xcode 6 с iOS8.   -  person san    schedule 23.01.2015
comment
и эта проблема устранена в последней версии SDK для синтаксического анализа (v1.6.1).   -  person san    schedule 23.01.2015
comment
@san, я не могу получить с помощью версии 1.6.2. Когда я включаю любой ключ, он дает мне 0 объектов, все остальное дает все. Кажется, не исправлено даже в последней версии.   -  person Shiva Reddy    schedule 19.02.2015
comment
@ShivaReddy, ты прав. Активная тема по этой проблеме есть здесь   -  person san    schedule 19.02.2015
comment
Реальная проблема отличается от этой. Вызов includeKey для локального запроса (lquery) решает указанную выше проблему.   -  person san    schedule 19.02.2015
comment
Я сделал [lquery includeKey:@category]; но когда я делаю это, я не могу получить какие-либо объекты, счет равен 0, но если я удалю и сделаю запрос, получающий все (26 сохраненных в настоящее время) объектов, но без указателей.   -  person Shiva Reddy    schedule 19.02.2015
comment
Убедитесь, что у вас нет висячих указателей в вашем классе (которые вы включаете).   -  person san    schedule 19.02.2015


Ответы (1)


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

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

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

person Ryan Kreager    schedule 26.07.2015