我不确定YourNameVariable
使用什么。我认为它需要是Routine的一个实例(或者可能是Routine的名称属性)但是我该如何创建呢?我正在使用UITableView。
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Exercise" inManagedObjectContext:managedObjectContext];
[request setEntity:entity];
[request setPredicate: [NSPredicate predicateWithFormat: @"routineExercises = %@", yourVariableNameHere]];
NSLog(@"After managedObjectContext: %@", managedObjectContext);
NSError *error = nil;
NSMutableArray *mutableFetchResults = [[managedObjectContext executeFetchRequest:request error:&error] mutableCopy];
if (mutableFetchResults == nil) {
// Handle the error.
}
[mutableFetchResults release];
[request release];
这是我的数据模型:
另外,我应该将它放在viewDidLoad中还是fetchResultsController的方法中?
答案 0 :(得分:1)
如果您已拥有Routine
个对象,则无需提取。您只需向Routine
对象询问其routineExercises
关系的内容。
当您没有要开始的对象时,可以使用提取。如果您已有一个对象,那么您可以通过它的关系来查找它的关联对象。获取已存在于关系中的对象会破坏首先建立关系的目的。