将NSManagedObjectID从一个实体保存为另一个实体上的属性?

时间:2010-01-17 09:57:53

标签: 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) 

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

更多地了解原因:我需要能够拥有一个Entity对象并保留另一个Entity对象的ObjectID,以便我以后可以继续:这个对象最后一次“交互”就是这个实体。

希望有人可以帮助我实现这项工作:) 谢谢

1 个答案:

答案 0 :(得分:7)

为什么不在名为Object的{​​{1}}中建立一对一关系属性,该属性指向interaction的实例 - 反之亦然,来自{{}}的多对多关系{1}} Entity调用了Entity?如果没有所有转换方法,这可以非常巧妙地解决问题。

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