クラス属性が である 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 オプションを使用)。万が一、これと関係がありましたら…