我预计[super class]
返回超类的类,但我发现,使用这个代码,它返回这个类的类。为什么“[self class] == [super class]”?
代码
NSLogObject([self class]);
NSLogObject([super class]);
NSLogObject([self superclass]);
NSLogBool([self class] == [super class]);
输出
[self class]: MainMenuScene
[super class]: MainMenuScene
[self superclass]: CCScene
[self class] == [super class]:[YES]
有人能解释为什么出现这种情况,请?我预计它会返回与[self superclass]
相同的值。
Macros: ------- #define NSLogBool(i) NSLog(@"%s:[%@]", #i, (i) ? @"YES" : @"NO") #define NSLogObject(o) NSLog(@"%s:[%@]", #o, o)
而且,我没有说足够的“class”:“Class class class class class!” – 2012-08-06 11:55:04
你不应该在你自己的类或宏(或任何其他标识符)中使用苹果前缀 – JustSid 2012-08-06 12:03:01
我应该如果我想让他们在我输入NSLog ...时显示:P – 2012-08-06 12:03:52