为什么我的托管对象没有看到与它有多对多关系的其他托管对象?

时间:2013-06-26 13:54:30

标签: ios core-data nsfetchrequest nsfetchedresultscontroller

为什么我的托管对象“页面”没有看到与它有多对多关系的其他托管对象“视图”?如何获取与逐页关联的所有视图,并访问其属性(属性)?

Page *page = (Page*)fetchedPages[indexPath.row];
NSLog(@"page's name is %@", page.name); //this works
NSLog(@"Page's views count %d", page.views.count); //this returns 0

我从核心数据中获取了一个托管对象。此对象“页面”是子类的实例,称为从实体描述创建的页面。我想访问与页面有多对多关系的所有对象的属性。我有另一个名为View的实体,它与页面有一对一的关系。页面应该有几个“视图”,因为它们已经创建,但是当我尝试记录视图时,我得到NULL或计数为0.我是否需要对这些子视图页面进行单独的获取?

1 个答案:

答案 0 :(得分:0)

在我写的最近的一个应用程序中,我注意到我的关系的setter不起作用,我不得不根据另一个S.O编写我自己的实现。回答。尝试将自定义设置器添加到模型中,看看它是否有效。

-(void)add{objectName}Object:({ObjectName} *)value{
    NSMutableSet* tempSet = [NSMutableSet setWithSet:self.{objectName}];

    [tempSet addObject:value];
    self.{objectName} = tempSet;
}