我有多个NSPersistentStoreCoordinator实例,每个实例只有一个NSPersistentStore,它们都指向同一个sqlite文件。在我的测试中,在它们之间传递NSManagedObjectID对象,然后调用
- (NSManagedObject *)existingObjectWithID:(NSManagedObjectID *)objectID error:(NSError **)error
在NSManagedObjectContext上似乎运行良好,但我还没有看到苹果公司的任何文件证实,这应该是很好的工作。
所以,我的问题是,如果有人知道这是否有效(一个链接到一些苹果文档,确认它会很棒!),如果有人知道这通常是不应该工作的,我不应该这样做,那也太棒了!
发布于 2014-02-06 04:27:57
调用这种方法总是安全的。它是否返回一个对象是另一回事。
当使用来自不同上下文的对象ID时,只有在调用此方法的上下文已经可以访问该对象时,才会得到非零结果。这意味着该对象已经存在于持久存储中,这意味着它已经保存在其原始托管对象上下文中。
换句话说,只有当您已经用ID保存了对象,并且使用了对象的永久(后置) ID时,才会得到非零结果。
https://stackoverflow.com/questions/21589985
复制相似问题