iphone - 将一个实体的 NSManagedObjectID 保存为另一个实体的属性?

标签 iphone objective-c core-data

我有一个核心数据实体需要保留一些其他实体的 NSManagedObjectID。为此,我正在考虑将 ObjectID 转换为字符串,该字符串是 NSManagedObject 属性的批准类型。

我可以从文档中了解到,我可以通过以下方式获取 ID 的 URI 表示形式:

NSURL *uriID = [[myEntity objectID] URIRepresentation];

然后我可以通过以下方式将此 URL 转换为 NSString:

NSString *stringID = [uriID absoluteString];

我可以坚持我的 NSManagedObject 的 NSString 属性。

现在,当我需要走另一条路时会发生什么?

我希望能够做这样的事情:

if([myManagedObject objectID] == value) 

其中 value 是我之前转换为 NSString 的 NSManagedObjectID

为了更清楚地说明原因:我需要能够让一个 Entity 对象持有并保留另一个 Entity 对象的 ObjectID,这样我以后就可以继续:这个对象最后的“交互”是与这个实体。

希望有人能帮助我完成这项工作:) 谢谢

最佳答案

为什么不在 Object 中建立一个名为 interaction 的一对一关系属性,它指向一个 Entity 的实例——反之亦然从 EntityObject 的一对多关系称为 interactions?这非常巧妙地解决了问题,没有所有的转换方法。

但您也可以查看 -managedObjectIDForURIRepresentation:+URLWithString:方法去另一个方向。

关于iphone - 将一个实体的 NSManagedObjectID 保存为另一个实体的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2080603/

相关文章:

iphone - 在 NSDictionary 中抓取随机条目

iphone - 有没有办法为 UITableViewCell 使用随机项目 png 图像?

iphone - iPhone上的号码识别可以实时进行吗?

iphone - IOS [NSURL initFileURLWithPath :]: nil string parameter on loading video

iphone - 如何将图像和一些文本叠加到 UIImage 上?

iphone - 在不更改 Core Data 对象的情况下修改 NSFetchRequest 结果数组的正确方法

objective-c - 如何将 NSSplitView 分隔线厚度更改为 1px?

ios - 保存后 Core Data objectID 为 nil

ios - 在 Core Data 中为树结构建模

ios - CoreData 可转换 : Custom Transformer never gets called - NSKeyedArchiver is used instead