NSPrivateQueueConcurrencyType Nie zapisuje się poprawnie
Następująca metoda jest wywoływana, aby wypełnić mojeCore-Data
poAFNetworking
pobiera informacje z mojego serwera aplikacji.
Informacje wydają się doskonale działać, ponieważ po zaktualizowaniu tabeli widzę nowe informacje aktualizowane wUITableView
.
Teraz mam problem z tym, że nawet mimo tego, że widzę informacje (po tym, jak zostały pobrane z serwera, zapisane w Core-Data i ponownie wyszukane, aby wyświetlić je w moimUITableView
) Jeśli następnie przejdę i zamknę aplikację i ponownie ją otworzę, informacji już nie ma.
Wydaje się, że informacje nie są trwałe, a problem wydaje się być wątkiem. biorąc pod uwagę, że jeśli usunę opcję wątku w mojej metodzie, wszystko działa dobrze.
Czego mi brakuje?? Próbowałem większości rzeczy, na które natrafiłem, ale nie mogę znaleźć rozwiązania.
NSManagedObjectContext *childContext = [[NSManagedObjectContext alloc]
initWithConcurrencyType:NSPrivateQueueConcurrencyType];
childContext.parentContext = managedObjectContext;
myModel.context = childContext;
[childContext performBlock:^{
// ... Lots Controller logic code that then calls the class myModel where all my Core-Data save methods are
// Sort Wall Pictures
if ( [dataHolder[@"verb"] isEqualToString:@"addWallPicture"] ) {
data = @{ @"resourceID":dataHolder[@"_id"][@"$id"],
@"resourceName":dataHolder[@"details"][@"resourceName"],
@"author":@{ @"id":dataHolder[@"userId"][@"$id"],
@"username":dataHolder[@"details"][@"authorName"] },
@"likesNumber":@0,
@"likesPeople":@[]
};
[myModel saveSocialWall:data date:date verb:dataHolder[@"verb"] code:dataHolder[@"_id"][@"$id"] myUser:myUser];
continue;
}
[childContext save:&error];
}];