如何在Core Data中获取父对象的子实体?

时间:2012-09-06 15:15:11

标签: iphone objective-c core-data nspredicate

我正在尝试使用NSFetchedResultsController来获取特定父对象的所有子实体。这似乎应该非常简单,但我在NSPredicate上“无法解析此格式字符串”。有什么想法吗?

注意:我知道我可以引用parent.children而不是使用NSFetchedResultsController,但这适用于实时tableView,我想要NSFetchedResultsController提供的对象监视功能。

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Child" inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];

NSString *predicateString = [NSString stringWithFormat:@"parent == %@", self.parent];
NSPredicate *predicate = [NSPredicate predicateWithFormat:predicateString];
[fetchRequest setPredicate:predicate];

NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:managedObjectContext sectionNameKeyPath:nil cacheName:nil];

1 个答案:

答案 0 :(得分:2)

predicateWithFormat需要不同于给定的参数。

尝试:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"parent == %@", self.parent];