Я не могу получить локальные данные (закрепленные объекты) после повторного открытия приложения.
У меня есть этот код в моем контроллере:
- (IBAction)btnAddTouched:(id)sender
{
PFObject *object = [PFObject objectWithClassName:@"Foobar"];
[object setValue:[[NSDate date] description] forKey:@"data"];
[object pinInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
if (succeeded) {
NSLog(@"Pinned OK");
}else{
NSLog(@"Erro: %@", error.localizedDescription);
}
}];
}
- (IBAction)btnLoadTouched:(id)sender
{
PFQuery *query = [PFQuery queryWithClassName:@"Foobar"];
[query fromLocalDatastore];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) {
NSLog(@"%@", objects);
}else{
NSLog(@"Erro: %@", error.localizedDescription);
}
}];
}
Действия по воспроизведению:
- Закрепите некоторые объекты с помощью
btnAddTouched:
; - Закройте приложение (остановите отладку);
- Откройте приложение еще раз (соберите заново);
- Попробуйте загрузить закрепленные данные с помощью
btnLoadTouched
;
Он возвращает мне объект с localId: (null)
:
"<Foobar: 0x15d42770, objectId: new, localId: (null)> {\n data = \"2014-12-15 21:00:05 +0000\";\n}"
)
И после этого pinInBackgroundWithBlock:
больше не работает. Тогда блоки никогда не вызываются.