我有一个核心数据实体需要保留一些其他实体的 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
的实例——反之亦然从 Entity
到 Object
的一对多关系称为 interactions
?这非常巧妙地解决了问题,没有所有的转换方法。
但您也可以查看 -managedObjectIDForURIRepresentation:
和 +URLWithString:
方法去另一个方向。
关于iphone - 将一个实体的 NSManagedObjectID 保存为另一个实体的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2080603/