私はObjective-Cクラスを持っています。私がやっていることは、目的の C クラスで C 関数を呼び出していることです [このサンプル ios プロジェクトの一部である 1 つのファイルに実装したこの C 関数]。すべての C 関数は正常に動作しています。これまでのところ問題はありません。
C file で非同期関数を呼び出そうとすると、しばらくするとその関数が object-c クラスに応答します。Objective-C クラスで適切にトリガーされる 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.
}
実際に私の要件は
Voip 通話機能を実行する C コードがあります。Objective-C [iOS] コードから C 関数を呼び出しています。呼び出しが受信者によって切断された場合、私の C 関数の 1 つが呼び出され、プロセスが停止します。しかし、それでも私のUIは呼び出し関連のUIを表示しています。私はそれを却下したい。
here 、C関数からobjective-cクラスに通知を送信してUIViewを閉じるにはどうすればよいですか。誰でも親切に助けてもらえますか。
実際には関数ポインタを使用しましたが、機能していません。