我有一个包含函数指针的C结构.现在,我在C中使用了这个设置没有问题,但现在我在Objective-C中使用这个C结构,我需要传递一个在Objective-C类中定义的函数(或选择器)指针.
1.这是我对Objective-C选择器所需要的,它需要作为指向C函数的指针传递:
- (void)myObjCSelector:(int*)myIntArray
{
// Do whatever I need with myIntArray
}
Run Code Online (Sandbox Code Playgroud)
2,这里是我碰壁,在Objective-C的我想选择通过作为指针到C函数调用:在地方的" myObjCSelectorPointer "我需要正确的语法通过选择作为这个C函数调用中的函数指针:
passObjCSelectorPointerToCContext(cContextReference, myObjCSelectorPointer);
Run Code Online (Sandbox Code Playgroud)
我确实调查了这个问题,但主要可以找到几种不同的方法来做类似的事情,但我找不到任何特定的调用C函数和传递Objective-C选择器指针.
是否存在Objective-C的标准优化技巧,以便像C++或"g ++ -fast"标记中的"内联"频繁方法一样更快地执行?
编辑:当theMethod有两个(或更多)整数输入时,有没有人使用SEL和IMP的简短示例?
大家好,请帮帮我!!!!
有什么可以用来避免msgSend函数开销?也许答案是IMP,但我不确定.
我是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函数。
提前致谢