我有一个xcdatamodel,其中包含一组在静态库中构建的实体。
我将这个静态库包含在项目中。我想在主项目中创建另一个名为Task的模型。我想在实体中有一个属性,我可以在其中存储在静态库中创建的实体的NSManagedObjectID
。使用NSManagedObjectID
,我可以轻松获取主存储并获取实体。
最后,可能有许多Task实体引用了一个objectID。
可能吗 ?我也理解这听起来像一个关系模型,而Core Data则不是,因此有更好的解决方案吗?
谢谢
最佳答案
NSManagedObjectID
本身不符合编码要求。但是您可以获取对象ID的URL表示并将其存储。像这样:
myObject.externalTaskURL = [[task objectID] URIRepresentation];
然后,为了重新获得对象ID以检索它稍后引用的任务对象(
psc
是NSPersistentStoreCoordinator
实体所在的Task
):NSManagedObjectID* taskID =
[psc managedObjectIDForURIRepresentation:myObject.externalTaskURL];
确保永远不要对临时管理对象ID执行此操作。
关于objective-c - 将NSManagedObjectID保存在CoreData中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6881677/