isKindOfClass的意外行为:由mogenerator创建的NSManagedSubclasses

时间:2015-04-29 15:31:38

标签: objective-c cocoa nsmanagedobject objective-c-runtime mogenerator

我的对象模型中有一个名为Book的实体,其class属性为XYZBook。 Mogenerator创建了两个类:

  • _XYZBook
  • XYZBook,继承自_XYZBook

到目前为止一切顺利。

如果我在XYZBook上创建实例:

XYZBook *b = [XYZBook insertInManagedObjectContext:context];

class发送给b,按预期返回XYZBook

[b class] --> XYZBook

但是,发送isMemberOfClass:[XYZBook class]会返回NO !!!

[b isMemberOfClass:[XYZBook class]] --> NO

如果我使用YES超类:

,它只返回_XYZBook
[b isMemberOfClass:[_XYZBook class]] --> YES

那么,地球上究竟发生了什么?

BTW,我使用自定义基类(使用mogenerator的--base-class选项)创建这些clases。以防万一与此有关...

0 个答案:

没有答案