Core data 获取与核心数据的关系

Core data 获取与核心数据的关系,core-data,entity-relationship,nsfetchrequest,Core Data,Entity Relationship,Nsfetchrequest,我有两个具有双向关系的托管对象。 它是一个“segmentWithDetails”,包含一个“segment”对象 我用 NSEntityDescription *entity = [NSEntityDescription entityForName:@"SegmentWithDetails" inManagedObjectContext:connectionDetailsService.connectionD

我有两个具有双向关系的托管对象。 它是一个“segmentWithDetails”,包含一个“segment”对象

我用

NSEntityDescription *entity = [NSEntityDescription entityForName:@"SegmentWithDetails" 
                                          inManagedObjectContext:connectionDetailsService.connectionDetailsContext];
[fetchRequest setEntity:entity];
来获取我的详细信息。这样行

但是,当我试图检索包含的段时,得到的结果是零

我试着把它弄到手

Segment *segment = [segmentWithDetails valueForKeyPath:@"segment"];

Segment *segment = segmentWithDetails.segment;
但这不起作用。我还尝试过修改NSFetchedResultsController。 我补充说:

[fetchRequest setRelationshipKeyPathsForPrefetching:[NSArray arrayWithObject:@"segment"]];
[fetchRequest setIncludesSubentities:YES];
但这两者似乎没有任何区别。 根据我从Apple fine文档中了解到的情况,这种关系应该只适用于使用故障

我错过了什么?
如何从“segmentWithDetails”获取关系对象“segment”?

它应该按照您描述的那样工作。您确定“段”对象/关系确实存在并且包含真实对象吗?检查数据模型,确定此关系不是可选的,并检查您的代码是否实际存储了某些内容。

它应该按照您描述的那样工作。您确定“段”对象/关系确实存在并且包含真实对象吗?检查数据模型,确定此关系不是可选的,并检查代码是否实际存储了某些内容。

问题已解决。 这不是我如何读取数据,而是我如何将其放入CoreData。 上面公布的代码确实是正确的。Thanx用于响应Jaanus。

问题已解决。 这不是我如何读取数据,而是我如何将其放入CoreData。
上面公布的代码确实是正确的。Thanx表示对Jaanus的反应。

是的,它们之间存在着某种联系。我使用SOAP Web服务将数据填充到它们中。没问题。我还可以将fetchedResultsController更改为在segmentWithDetails和segment之间切换。但我无法从片段到父片段获取详细信息,反之亦然。我从用于用数据填充对象的对象中重新使用NSManagedObjectContext。这可能是个问题吗?是的,他们有一种存在的关系。我使用SOAP Web服务将数据填充到它们中。没问题。我还可以将fetchedResultsController更改为在segmentWithDetails和segment之间切换。但我无法从片段到父片段获取详细信息,反之亦然。我从用于用数据填充对象的对象中重新使用NSManagedObjectContext。这可能是个问题吗?仅供参考-你可以对答案发表评论仅供参考-你可以对答案发表评论