I suffered all the consequences of using a single MOC in multiple threads - my app crashes at random points because the MOC is created in the main thread and I also use it t
If you are only supporting iOS 5 and above you don't need to deal with NSManagedObjectID
and merging contexts anymore. You can use the new concurrency types of NSManagedObjectContext
instead. Then do your operations within managedObjectContext:performBlock
and they will be merged automatically.
See the answer from svena here for more information: Core Data and Concurrency using NSOperationQueues