【发布时间】:2013-09-08 07:37:03
【问题描述】:
在核心数据中,我有三种类型的实体。 实体 A、实体 B、实体 C
实体 C 与实体 A 是一对多的关系。 实体 C 与实体 B 也是一对多的关系。
换句话说,A 和 B 都有一个 inRecord 字段,它指向实体 C 的单个实例。
我有以下代码
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"EntityA"];
request.predicate = [NSPredicate predicateWithFormat:@"inRecord.title = %@", title];
NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"date" ascending:YES];
request.sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
NSError *error = nil;
NSArray *arrayOfEntity = [context executeFetchRequest:request error:&error];
现在,如果我检查 arrayOfEntity[0] 的类,它会说它属于 EntityA 类。 但是,使用完全相同的代码,如果我将 EntityA 替换为上面的 EntityB,如果我检查 arrayOfEntity[0] 的类,它不会说 EntityA,而是说它是类 NSManagedObject。
这是为什么呢?
【问题讨论】:
-
如果“EntityB”的“Class”设置为“EntityB”,您是否在 Core Data Model 检查器中进行了检查?
-
实体属性中设置实体类了吗?
-
宾果游戏你们是对的。谢谢大佬。