我正在编写一个使用C库的Objective-C应用程序.我目前面临的问题是C库有一个结构,其中某些字段是稍后用作回调的函数指针.如何将Objective-C实例方法转换为函数指针并将其传递给库?
大家好!我对objective-c相当新,所以我从来没有解决过这个问题.我在objective-c类中有一个C函数,我希望能够在包含objective-c类的属性上调用一个方法.
我明白,如果我尝试发送消息,我的C函数将无法理解"自我"是什么[self.delegate doSomething]
我假设我需要做的是给我的c函数指向我的类,所以我可以做这样的事情:
myClass-> delegate - > doSomething();
我想在全局变量中存储指向当前对象(self)的指针,因为我无法更改函数签名.我希望能够从该类中定义的任何C函数访问指针.这样做的原因是我正在编写一个我正在尝试使用的C库的包装器.如果它可以帮助..我宁愿不修改此库的源.
有人可以帮我解决如何获取指向当前对象的指针吗?谢谢!
void event_privmsg (irc_session_t * session, const char * event, const char * origin, const char ** params, unsigned int count)
{
//[self.delegate privateMessage]; I would like to do the following
}
Run Code Online (Sandbox Code Playgroud)