我想要排队的函数没有参数。我将什么作为 paramContext
传递?传入 NULL 会生成编译错误“无效使用 void 表达式”。我不想向我的函数添加一个参数只是为了让它编译 - 我该如何让它工作?
Mac OS X Snowleopard、带有 Objective-C 的 Xcode 3.2.6
最佳答案
虽然您可以只为上下文参数传递 0
/NULL
,但 dispatch_async_f()
需要 void (*)(void *)
作为函数参数,你不能给它传递一个不带参数的函数。
您需要更改您的函数以采用 void*
参数:
void func(void*) {}
... 或者,如果不能,请将其包装起来:
void orig(void) {}
void wrapper(void*) { orig(); }
// ...
dispatch_async_f(queue, 0, &wrapper);
关于objective-c - 如何使用dispatch_async_f?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9320142/