6
私はがスーパークラスのクラスを返すと予想しましたが、このコードを使用してこのクラスのクラスを返すことがわかりました。これがなぜ起こるかしてくださいなぜ「[self class] == [super class]」ですか?
[self class]: MainMenuScene
[super class]: MainMenuScene
[self superclass]: CCScene
[self class] == [super class]:[YES]
コード
NSLogObject([self class]);
NSLogObject([super class]);
NSLogObject([self superclass]);
NSLogBool([self class] == [super class]);
出力は、誰かが説明することができます?。私はそれが[self superclass]
と同じ値を返すと期待しています。
Macros: ------- #define NSLogBool(i) NSLog(@"%s:[%@]", #i, (i) ? @"YES" : @"NO") #define NSLogObject(o) NSLog(@"%s:[%@]", #o, o)
ちょうど私が "クラス"と言うほどのことを言っていなかったので、 "クラスクラスのクラスクラスのクラス!" –
自分のクラスやマクロ(または他の識別子)にリンゴ接頭辞を使用しないでください。 – JustSid
NSLog ...と入力すると表示されるはずです:P –