Objective-C中的超级特性是什么?

据我所知,这是一个指向超类的指针。 它与超类很难连接,并且在运行时不会dynamic计算出来。 想更详细地了解它…

任何人?

super

从本质上讲,它允许您使用当前类的超类的实现。

Objective-C运行时的细节 :

[super message]具有以下含义:

当遇到方法调用时,编译器生成对函数objc_msgSend,objc_msgSend_stret,objc_msgSendSuper或objc_msgSendSuper_stret之一的调用。 发送到对象的超类(使用super关键字)的消息使用objc_msgSendSuper发送; 其他消息使用objc_msgSend发送。 将数据结构作为返回值的方法使用objc_msgSendSuper_stret和objc_msgSend_stret发送。

所以是的,它是静态的, 不是在运行时确定的。

这是一个等同于self的关键字,但用超类的方法表开始它的消息分派search。

super 不是指向一个类的指针。 Super是self ,但是当用在消息expression式中时,它意味着“寻找一个以超类的方法表开始的实现”。

这些博客张贴什么是元类? , 获取子类和类和元类可能会给你一些关于这个内部的见解。

Interesting Posts