为了简单起见,假设我有一个类似的函数
void myFunc(id _self, SEL _cmd, id first, ...)
{
}
在该方法中,我想调用 _self 超类的实现(imp)。
我可以使用以下代码到达该 IMP:
Class class = object_getClass(_self);
Class superclass = class_getSuperClass(class);
IMP superimp = class_getMethodImplementation(superclass, _cmd);
现在,我该如何调用那个小鬼?
只需使用变量参数调用它:
superImp(self, _cmd, argument1, argument2, argument3, etc...)
IMP 已经typedef
'd as
typedef id (*IMP)(id, SEL, ...);
因此,您可以使用变量参数调用它,没有任何问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)