2014-12-20 11 views
12

Mam zapytanie z wieloma parametrami includeKeys, które są wskaźnikami do innej klasy. Po otrzymaniu danych z chmury parse wszystkie rekordy są zapisywane lokalnie przy użyciu metody pinAll. Po pobraniu zapisanych wyników mogę uzyskać rekordy, ale nie wskazówki. Zobacz przykładowy kod poniżejDane wskaźników, które nie przechowują w lokalnej bazie danych, analizują ios

[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) { 

    }]; 
}]; 

A ja ściągam rekordy jak

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; 
     } 
    }]; 

Przy próbie uzyskania dostępu do dowolnej z kolumn w classOne, classTwo, classThree i classFour otrzymuję wyjątek kończące aplikację ze względu na nieprzechwycony wyjątek "NSInternalInconsistencyException", powód: "Key" name "nie zawiera danych. Wywołaj fetchIfNeeded zanim uzyskasz jego wartość. "

+0

Zanim będzie można pobrać z lokalnej bazy danych, trzeba powiedzieć kwerendy których musi wyglądać '[zapytanie fromLocalDatastore];' – jsetting32

+0

jestem już za pomocą tego ..... No szczęście – san

+0

jestem zainteresowany aby dowiedzieć się więcej na ten temat. W jakiej wersji pakietu SDK na iOS testowałeś to? – fatuhoku

Odpowiedz

1

To był błąd w funkcji lokalnego magazynu danych Parse.com dla systemu iOS.

Od notach 1.6.3 wydaniu:

"lepszą konsystencję Lokalnej datastore/analizowania Zapytania z includeKey. I wartości NSNull"

Powiązane problemy