HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 为什么“[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]相同的值.

@H_441_13@macros:
-------
#define NSLogBool(i)   NSLog(@"%s:[%@]",#i,(i) ? @"YES" : @"NO")
#define NSlogobject(o) NSLog(@"%s:[%@]",#o,o)

解决方法

[super class]在当前实例(即self)上调用super方法.如果self有一个被覆盖的版本,那么它将调用,它看起来会有所不同.由于你没有覆盖它,调用[self class]与调用[super class]相同.

大佬总结

以上是大佬教程为你收集整理的ios – 为什么“[self class] == [super class]”?全部内容,希望文章能够帮你解决ios – 为什么“[self class] == [super class]”?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。