0

クラス属性が である Book というオブジェクト モデルにエンティティがありますXYZBook。Mogenerator は 2 つのクラスを作成します。

  • _XYZBook
  • XYZBookから継承し_XYZBookます。

ここまでは順調ですね。

でインスタンスを作成した場合XYZBook:

XYZBook *b = [XYZBook insertInManagedObjectContext:context];

b に送信classすると、期待どおりに返さXYZBookれます。

[b class] --> XYZBook

ただし、送信isMemberOfClass:[XYZBook class]は NO を返します!!!

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

スーパークラスYESを使用した場合にのみ返されます。_XYZBook

[b isMemberOfClass:[_XYZBook class]] --> YES

それで、一体何が起こっているのですか????

ところで、私はカスタム基本クラスを使用してこれらのクラスを作成します (mogenerator の --base-class オプションを使用)。万が一、これと関係がありましたら…

4

0 に答える 0