【发布时间】:2017-07-28 06:51:05
【问题描述】:
在我的应用程序中,我使用了 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 上找到了相同的 issue,但它的答案对我的问题没有帮助。有人知道怎么做吗?
【问题讨论】:
-
你检查过你的 db 文件是否在任何 SQLite 浏览器中更新为最新值?
标签: ios database core-data nsmanagedobjectcontext nspersistentstore