【发布时间】:2011-09-13 17:52:46
【问题描述】:
假设我有一个核心数据模型,其中包含一个名为“Animal”的抽象实体。然后,我有许多其他实体继承自这个抽象实体:“Lion”、“Dog”、“Cat”等。(我不是在开发动物园程序,但这个类比适用于我正在解释的问题!)
我想知道的是:我可以这样做一次获取“所有动物”吗:
NSFetchRequest *searchRequest = [[NSFetchRequest alloc] init];
[searchRequest setEntity:[NSEntityDescription entityForName:@"Animal" inManagedObjectContext:aContext]];
NSArray *matchedObjects = [aContext executeFetchRequest:searchRequest error:nil];
我知道 NSEntityDescription 上有一些方法可以确定一个实体是否继承自另一个实体。但是有没有一种快速的方法来获取特定(抽象)类型的所有实体——在这种情况下是“动物”?
如果上述方法无效,那么最有效的方法是什么?谢谢!
【问题讨论】:
标签: objective-c cocoa macos core-data