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

Ric*_*kiG 3 iphone core-data objective-c

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

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

NSURL *uriID = [[myEntity objectID] URIRepresentation];
Run Code Online (Sandbox Code Playgroud)

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

NSString *stringID = [uriID absoluteString];
Run Code Online (Sandbox Code Playgroud)

这个我可以坚持我NSManagedObject的NSString属性.

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

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

if([myManagedObject objectID] == value) 
Run Code Online (Sandbox Code Playgroud)

其中valueNSManagedObjectID我之前转换为NSString的值.

为了更清楚地说明原因:我需要能够拥有一个Entity对象并保留另一个Entity对象的ObjectID,这样我以后就可以了:这个对象最后一次"交互"就是这个实体.

希望有人可以帮我搞定这个:)谢谢

Ale*_*lds 7

为什么不只是建立在一对一关系属性Objectinteraction,它指向的一个实例Entity-和反之亦然,从一对多的关系Entity,以Object所谓的interactions?如果没有所有转换方法,这可以非常巧妙地解决问题.

但你也可以看看-managedObjectIDForURIRepresentation:+URLWithString:方法去另一个方向.