我有几个 NSManagedObject 的子类。它们都使用如下代码实例化:
MeasurementDescriptor *descriptor = (MeasurementDescriptor *)[NSEntityDescription
insertNewObjectForEntityForName:@"MeasurementDescriptor"
inManagedObjectContext:context];
或像这样:
Experiment *experiment = (Experiment *)[NSEntityDescription
insertNewObjectForEntityForName:@"Experiment"
inManagedObjectContext:context];
不过,奇怪的是(来自上面的代码)
NSLog(@" descriptor's class = %@", NSStringFromClass([descriptor class]));
打印出“NSManagedObject”,而
NSLog(@" experiment's class = %@", NSStringFromClass([experiment class]));
打印出“实验”。
有谁知道为什么会这样?与我的其他 NSManagedObject 子类不同,MeasurementDescriptor 没有 ivars(不包括其核心数据属性)。添加 ivar 并没有改变任何东西。同样,MeasurementDescriptor 是唯一没有“关系”属性的 NSManagedObject 子类。也许这是造成这种奇怪的原因......???