获取核心数据中关系的数据

时间:2013-11-25 07:12:56

标签: ios core-data entity-relationship

我正在使用核心数据框架,并希望使用关系获取数据。 我有2个名为User和Company的实体,其中包含user_name和company_name字段。我也有很多名称为rel_user-> user。

的关系

现在我正在尝试获取此类数据

User *userObj=(User*)[selectedData objectAtIndex:indexPath.row];
NSSet *resultData = [userObj valueForKeyPath:@"rel_user.user"];
    NSLog(@"subject -> %@",[resultData description]);

我想显示与用户相关的公司名称。

2 个答案:

答案 0 :(得分:1)

rel_user的反向关系的名称是什么?假设它是rel_company而用户是>公司关系是一个,你只需要使用

user.rel_company.company.name

user是特定User对象的位置。

具体命名你的人际关系rel并没有什么好处。在用户(因为它将是持有公司的财产)和公司的company关系之间建立users关系会更好。然后,您可以从名称中了解属性将包含的内容以及它是一对一还是多对多关系。

答案 1 :(得分:0)

您可以按关系名称获取相关的公司名称。

用户 userObj =(用户)[selectedData objectAtIndex:indexPath.row];

NSString * companyName = userObj.RELATION_NAME.company_name

RELATION_NAME用于从用户实体连接到公司实体。

希望这会有所帮助。