Metody wywołania zwrotnego od C do Objective-C
Mam klasę Objective-C. To, co robię, to wywoływanie funkcji C w mojej klasie C-Object [To C funkcje zaimplementowałem w jednym pliku, który jest częścią tego przykładowego projektu ios]. Wszystkie funkcje C działają dobrze, jak dotąd nie ma problemów.
Gdy próbuję wywołać funkcję asynchroniczną w pliku C, funkcje te po pewnym czasie odpowiedzą na klasę obiektyw-c. Zadzwoniłem do wskaźnika funkcji w C, który jest uruchamiany poprawnie w klasie Objective-C. Sprawdź następujący fragment kodu. Chcę wykonać pewne działania związane z interfejsem użytkownika w metodzie oddzwaniania. Czy to jest możliwe ? Jeśli nie, czy jest jakiś inny sposób? Czy możesz dać mi odpowiedź JAK NAJSZYBCIEJ. Dzięki.
Plik 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);
}
Plik celu 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.
}
Właściwie moim wymaganiem jest
Mam kod C, który wykona funkcję połączenia VoIP. Dzwonię do funkcji C z mojego kodu C-i [iOS]. Jeśli połączenie zostało rozłączone przez odbiornik, jedna z moich funkcji C jest wywoływana i zatrzymuje proces. Ale nadal mój interfejs pokazuje interfejs związany z połączeniami. Chcę to odrzucić.
tutaj, jak wysłać powiadomienie do mojej klasy C-Object z funkcji C, aby odrzucić UIView. Czy ktoś może mi pomóc?
Właściwie użyłem wskaźników funkcji, ale to nie działa.