我預計[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