是否有一种简单的方法可以找到在Core Data中形成特定关系的对象类型?
例如,我有一对多的关系:
Battery-----1-to-Many-----Comment
如果我不知道这个关系是针对特定的Comment
对象的,那么我是否有一种编程方式可以找出它所针对的对象类型,完全基于我正在处理的集合。
的内容
battery.comments.classType = [Comment class]
我知道Battery
和Comment
都属于NSManagedObject
类型 - 我想更具体地了解它们是什么。
我也知道如果NSSet
包含任何数据,我可以使用它的任何一个对象来查询类型。但是,当NSSet
中没有数据时,我需要满足。
谢谢。
答案 0 :(得分:3)
您可以从以下几行获得所需的所有信息:
NSRelationshipDescription* rel = [[[battery entity] relationshipsByName] valueForKey:@"comments"];
NSString* className = [[rel destinationEntity] managedObjectClassName];
NSString* entityName = [[rel destinationEntity] name];
答案 1 :(得分:0)
在您的AppDelegate中,您有一个NSManagedObjectModel类型的属性。它有一个包含NSEntityDescription的entities
数组。从这里你应该能够弄明白。希望这有帮助!