获取核心数据关系的类型

时间:2013-04-11 09:03:44

标签: ios objective-c core-data

是否有一种简单的方法可以找到在Core Data中形成特定关系的对象类型?

例如,我有一对多的关系:

Battery-----1-to-Many-----Comment

如果我不知道这个关系是针对特定的Comment对象的,那么我是否有一种编程方式可以找出它所针对的对象类型,完全基于我正在处理的集合。

的内容
battery.comments.classType = [Comment class]

我知道BatteryComment都属于NSManagedObject类型 - 我想更具体地了解它们是什么。

我也知道如果NSSet包含任何数据,我可以使用它的任何一个对象来查询类型。但是,当NSSet中没有数据时,我需要满足。 谢谢。

2 个答案:

答案 0 :(得分:3)

您可以从以下几行获得所需的所有信息:

    NSRelationshipDescription* rel = [[[battery entity] relationshipsByName] valueForKey:@"comments"];
    NSString* className = [[rel destinationEntity] managedObjectClassName];
    NSString* entityName = [[rel destinationEntity] name];

答案 1 :(得分:0)

在您的AppDelegate中,您有一个NSManagedObjectModel类型的属性。它有一个包含NSEntityDescriptionentities数组。从这里你应该能够弄明白。希望这有帮助!