Ios 使用父实体的子对象填充tableview

Ios 使用父实体的子对象填充tableview,ios,objective-c,Ios,Objective C,我在导航控制器层次结构中有两个TableViewController。第一个包含父实体,我已通过核心数据实体获取请求成功填充了父实体。我在父实体和子实体之间创建了一对多关系,似乎正在添加子实体。我可以用所有父对象的所有子对象填充它,但不能将其限制为当前父对象。我曾尝试在子tableview控制器获取请求中使用谓词,但没有成功 我是否应该使用IncludeSubEntities并保留请求中使用的父实体?如果是,我会以某种方式使用委托协议吗 下面的代码用于子表视图。注释掉的位是不同的尝试 谢谢 -

我在导航控制器层次结构中有两个TableViewController。第一个包含父实体,我已通过核心数据实体获取请求成功填充了父实体。我在父实体和子实体之间创建了一对多关系,似乎正在添加子实体。我可以用所有父对象的所有子对象填充它,但不能将其限制为当前父对象。我曾尝试在子tableview控制器获取请求中使用谓词,但没有成功

我是否应该使用IncludeSubEntities并保留请求中使用的父实体?如果是,我会以某种方式使用委托协议吗

下面的代码用于子表视图。注释掉的位是不同的尝试

谢谢

- (NSFetchedResultsController *)fetchSerials
{
    if ( !_fetchSerials )
    {
        NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
        NSEntityDescription *entity =
        [NSEntityDescription entityForName:@"Serial"
                    inManagedObjectContext:AppDelegatePtr.managedObjectContext];
  //      NSPredicate *predicate = [NSPredicate predicateWithFormat:@"inExercise.name = '%@'", [[SMNetworkModel sharedInstance] selectedNarrative]];
    //    [fetchRequest setPredicate:predicate];
    //    [fetchRequest setRelationshipKeyPathsForPrefetching:@[@"inExercise"]];
        [fetchRequest setEntity:entity];
        NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"narrative" ascending:YES];
        [fetchRequest setSortDescriptors:@[sortDescriptor]];
        _fetchSerials = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:AppDelegatePtr.managedObjectContext sectionNameKeyPath:nil cacheName:nil];
        _fetchSerials.delegate = self;
        NSError *error;
        if ( ![_fetchSerials performFetch:&error] )
            NSLog(@"fetch error: %@", error.localizedDescription);
    }
    return _fetchSerials;
}

一个愚蠢的打字错误加上我对新朋友核心数据的理解不足,是阻止谓词工作的全部原因

我错误地认为您传递的是对象,而不是对象本身

取消对涉及谓词的两行的注释,并将SelectedDescription更改为正确的属性,所有操作都成功了