在我的应用程序中,我使用了 NSManagedContext 的双模型。有一个孩子managedObjectContext
和NSMainQueueConcurrencyType
父母
writerManagedObjectContext
一起NSPrivateQueueConcurrencyType
将数据保存到PersistentStoreCoordinator
. 我能够将数据保存在数据库中,但是在检索时我得到的是旧值而不是新值。
下面的代码是将上下文保存到parent context
然后保存到PersistentStoreCoordinator
.
[managedObjectContext performBlock:^{
//push to parent
//NSLog(@"pushing to parent context (writer context)");
NSError * error;
if([managedObjectContext hasChanges] && ![managedObjectContext save:&error]){
NSLog(@"main Save Error: %@", [error localizedDescription]);
}
//NSLog(@"pushing to persistentstore");
[self.writerManagedObjectContext performBlock:^{
//push to parent
NSError * error;
if([self.writerManagedObjectContext hasChanges] && ![self.writerManagedObjectContext save:&error]){
NSLog(@"writer Save Error: %@", [error localizedDescription]);
}
}];
}];
在 stack-overflow 上发现了同样的问题,但它的答案对我的问题没有帮助。有谁知道该怎么做?