已经花了2天时间来解决这个问题,我对C语言不是很熟练。因此,请使用以下语法将objc函数映射到C函数
extern int32_t createWallet(void (*fn)(int32_t handle, int32_t errCode)
但不知道如何传递类似函数的块。一直试图通过
void (^ createWalletCallback)(int32_t t, int32_t e) = NULL;
createWalletCallback = ^void(int32_t t, int32_t e){
/// some code here
}
但没有成功。您能否至少指出我要更改的内容?谢谢
答案 0 :(得分:0)
这似乎是Is there a way to wrap an ObjectiveC block into function pointer?的副本,其中建议是“不要这样做”。
相反,您不能使用普通的C函数指针吗?定义功能
void createWalletCallback(int32_t t, int32_t e) {
// some code here, maybe referencing global variables
// (including a semaphore, if other code needs to wait on the response)
}
然后打电话给
createWallet(&createWalletCallback);