首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在CoreData中保存NSManagedObjectID

在CoreData中保存NSManagedObjectID
EN

Stack Overflow用户
提问于 2011-07-30 15:05:26
回答 2查看 2.5K关注 0票数 2

我有一个在静态库中内置了一组实体的xcdatamodel。

我在一个项目中包含了这个静态库。我想在主项目中创建另一个模型,实体名为Task。我希望在实体中有一个属性,我可以在其中存储在静态库中创建的实体的NSManagedObjectID。使用NSManagedObjectID,我可以轻松地获取主存储并获取实体。最后,可能会有许多任务实体引用一个objectID。

有可能吗?我也理解这听起来像是一个关系模型,而核心数据不是,那么有没有更好的解决方案来处理这个主题呢?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-30 18:24:36

NSManagedObjectID本身并不兼容编码。但是您可以获取对象ID的URL表示并将其存储。如下所示:

代码语言:javascript
复制
myObject.externalTaskURL = [[task objectID] URIRepresentation];

然后,为了获取对象ID,以便稍后检索它引用的任务对象(__pscTask实体所在的NSPersistentStoreCoordinator )

代码语言:javascript
复制
NSManagedObjectID* taskID = 
        [psc managedObjectIDForURIRepresentation:myObject.externalTaskURL];

确保从不对临时管理对象ID执行此操作( do a temporary managed object ID)。

票数 9
EN

Stack Overflow用户

发布于 2011-07-30 21:25:35

您可以将托管对象ID作为NSURL存储在可转换属性中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6881677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档