我有一个C函数:
void encodeFile(void (*aFunction)(double));
我想将Objective-C Block传递给此函数
void (^aBlock)(double) = ^(double aDouble) {...}
encodeFile(aBlock);
有办法吗?
答案 0 :(得分:1)
你必须编写自己的功能,并不是很漂亮:
static BlockFunction myBlock = ...;
static void myFunction (double value) { myBlock (value); }
...
encodeFile (&myFunction);
基本上,您遇到了许多问题(线程安全等),这些问题是为了避免这些问题而设计的。