0

正如本指南中所推荐的那样,我CoreData从两个线程中使用NSManagedObjectContext,每个线程单独使用,并且共享一个。我的目标是在从该线程调用时仅提交由一个线程所做的更改。所以在以下场景中:NSPersistentStoreCoordinator[NSManagedObjectContext save]

th1: add obj1 // don't save
th2: add obj2
th2: save
quit app
open app once again

我只想obj2得救。可能吗?如果是这样,我该怎么做?

4

1 回答 1

1

是的,NSManagedObjectContext知道原来用线程运行他performBlock是检索这个信息的方法。

 [myManagedObjectContext performBlock:^{
                    //do your stuff here in managedObjectContext thread
                }];

只记得那是一个块。

因此,如果您像您所说的那样使用两个 ManagedObjectContext,那么管理它应该没有问题,因为performBlock只处理上下文而不是 PS。

于 2013-06-15T11:39:46.027 回答