gpt4 book ai didi

objective-c - 将 NSManagedObjectID 保存在 CoreData 中

转载 作者:行者123 更新时间:2023-12-04 02:46:58 33 4
gpt4 key购买 nike

我有一个 xcdatamodel,其中包含一组内置于静态库中的实体。

我将这个静态库包含在一个项目中。我想在主项目中创建另一个模型,实体名为 Task。我想在实体中有一个属性,我可以在其中存储在静态库中创建的实体的 NSManagedObjectID。使用 NSManagedObjectID 我可以轻松获取主存储并获取实体。最后可能有许多任务实体引用一个 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/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com