1

我想从 c 回调一个目标 c 方法。

//c 
int gameEngineCallback(int buttontype,void (*callback)(void))

//using above function
gameEngineCallback(roundButton,callback);

//this works fine but I want to call objective c native method instead of this
static void callback(void){

}
4

1 回答 1

1

您不能在 C CallBack protoType中传递 Objective c 方法。但是您可以从 C 回调定义重定向到您的目标 c 函数。

例子

//在 Your Ivar 的公共声明中添加以下行

id myclass; // if ur not Sure about ur class name or u have to redirect to ur delegate class

or 

YourClassName *instanceof class; //(no need to create instance just declartion) 

// 在你的回调触发之前在你的初始化定义中为你的 IVAr 赋值

myclass = self ;
or
myclass = delegate;

// 在你的 C 回调函数中像这样使用上面的 IVAR

static void callback(void)
{

[myclass Your Function];

 }
于 2013-05-15T04:15:08.327 回答