【发布时间】:2012-08-03 09:23:00
【问题描述】:
我希望 [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] 相同的值。
宏: -------- #define NSLogBool(i) NSLog(@"%s:[%@]", #i, (i) ? @"YES" : @"NO") #define NSLogObject(o) NSLog(@"%s:[%@]", #o, o)
【问题讨论】:
-
只是以防我说的“class”不够:“Class class class class class!”
-
您不应在自己的类或宏(或任何其他标识符)中使用苹果前缀
-
如果我希望它们在我输入 NSLog 时出现,我应该...:P
标签: ios objective-c class oop superclass