gpt4 book ai didi

objective-c - 如何调用具有可变数量参数的实现?

转载 作者:太空狗 更新时间:2023-10-30 03:43:27 27 4
gpt4 key购买 nike

为了简化,假设我有一个这样的函数

void myFunc(id _self, SEL _cmd, id first, ...)
{

}

在那个方法中,我想在 _self 的父类(super class)上调用实现(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

typedef id (*IMP)(id, SEL, ...);

因此您可以毫无问题地使用可变参数调用它。

关于objective-c - 如何调用具有可变数量参数的实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12250525/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com