获取Objective-C方法的地址

iPi*_*k12 1 c++ function-pointers class objective-c

我是Objective-C的新手,我需要克服以下问题。我正在尝试为C库开发前端,并且我需要以某种方式获取Objective-C成员函数的地址并将其传递给库。

例如:这就是我在C ++中要做的

class MyClass
{
    public:
    void my function();
    void some_other_function()
    { connect_signal(my_function); }
};
Run Code Online (Sandbox Code Playgroud)

在这里,我只是将地址传递my_function()给connect_signal。在Objective-C中有可能吗?还有其他想法吗?

我的第二个选择是简单地从调用Objective-C函数的类中编写一个C函数。

提前致谢

zou*_*oul 5

有一个methodForSelector:方法可返回IMP,该指针指向给定选择器(相关问题)的方法实现。那是你追求的吗?

更为笼统地说,使用指向方法实现的指针通常是太多了。您的用例是否有更高层次,更“普通”的解决方案?(我真的无法想象您在问题中写的内容的细节。)