在NSFetchRequest中的propertiesToFetch中包含一对一关系的属性

时间:2013-03-23 11:14:31

标签: ios objective-c nsfetchrequest

问题: 为简单起见,我有两个NSManagedObjects(A和B),其中B与A具有一对一的关系。在我的propertiesToFetch中,使用B作为实体类型,我有许多B属性。然而,我想要的是还要包含从一对一关系中的A的属性(例如“名称”)。

建议?

编辑:

NSFetchRequest *fetchR = [NSFetchRequest fetchRequestWithEntityName:ClassName(B)];
fetchR.predicate = [NSPredicate predicateWithFormat:@"active = %u",1];
fetchR.resultType = NSDictionaryResultType;
fetchR.propertiesToFetch = [NSArray arrayWithObjects:
                            [self propertyDescriptionFor:@"name" inEntity:ClassName(B)],
                            [self propertyDescriptionFor:@"age" inEntity:ClassName(B)], 

// Here is where I want to add something like "a.name"

                            nil];

1 个答案:

答案 0 :(得分:3)

我不知道propertyDescriptionFor:inEntity:方法(它在哪里定义?),但你可以在propertiesToFetch中提供一个字符串数组:

fetchR.propertiesToFetch = [NSArray arrayWithObjects:@"name", @"age", @"a.name", nil];

和一对一关系应该“正常工作”。