我有一个Objective-C类。我的做法是在我的Objective-C类中调用C函数[这些C函数我实现在一个文件中,该文件是这个示例iOS项目的一部分]。所有的C函数都很好地工作,到目前为止没有任何问题。
当我尝试调用C文件中的异步函数时,该函数将在一段时间后向Objective-C类返回响应。我在C中调用了函数指针,它在Objective-C类中被正确触发。请检查以下代码片段。我想在回调方法上执行一些与UI相关的操作。是否可能?如果不行,还有其他方法吗?能否尽快给我回复。谢谢。
C文件:
当我尝试调用C文件中的异步函数时,该函数将在一段时间后向Objective-C类返回响应。我在C中调用了函数指针,它在Objective-C类中被正确触发。请检查以下代码片段。我想在回调方法上执行一些与UI相关的操作。是否可能?如果不行,还有其他方法吗?能否尽快给我回复。谢谢。
C文件:
void my_int_func(int x);
void test_asyn_fun ()
{
/* This code is for Sleep logic */
for (int i=0; i<50000; i++) {
// sleep
}
/* Sleep End */
void (*foo)(int);
foo = &my_int_func;
foo(25);
}
Objective-C 文件:
void my_int_func(int x) // this is call back method
{
printf( "%d\n", x ); // working properly
[self anyMethodInMyClass]; // I am unable to use self in this function.
}
我的要求是:
我有一段C代码,它可以实现Voip电话功能。我从我的Objective-C [iOS]代码中调用C函数。如果接收方挂断电话,我的一个C函数会被调用并停止进程。但是我的UI仍然显示与通话相关的UI。我想要关闭它。
在这里,我该如何从C函数向我的Objective-C类发送通知以关闭UIView?能否有人给我帮忙呢?
实际上,我使用了函数指针,但它没有起作用。
self
是如何实现的? - user529758self
而不是对象方法。当在对象上调用方法时,您需要从某个地方获取对象指针-我不知道您在C文件中如何获取它。 - markoself
代表什么吗? - holex