0

我有一个 我设置的NSPersistentContainer子类:MyCoreData* coreData

[self setCoreData:[MyCoreData persistentContainerWithName:myCoreDataModelName]];

[[self coreData] setPersistentStoreDescriptions:[NSArray arrayWithObject:[NSPersistentStoreDescription persistentStoreDescriptionWithURL:fileURL]]];

[[self coreData] loadPersistentStoresWithCompletionHandler:^(NSPersistentStoreDescription *storeDescription, NSError* error) {}];

[[[self coreData] viewContext] setAutomaticallyMergesChangesFromParent:YES];

这一切都在我的应用程序的一个主机对象中工作。我想从我的应用程序的另一个不相关部分对 CoreData 存储进行只读访问。基本上这是在非面向用户的后台线程中运行的,我想从 GUI 的一部分访问它以显示一些数据。

是否可以在其他地方进行相同的初始化并使用两个不同的 NSPersistentContainer 对象将事物绑定到同一个存储?

我知道如果我能到达这个宿主对象,我可以调用newBackgroundContext,但我尽量不把它们联系在一起。

有一些 iOS 应用程序和扩展程序的例子,但我不熟悉这种情况。我需要在同一个应用程序中设置两个 NSPersistentContainer 对象,它们共享一个公共商店和模型。

4

0 回答 0