Вы не выполняете objc-сообщения в обратных вызовах реального времени, таких как аудио. Причина этого в том, что обмен сообщениями objc не является постоянным временем и может блокироваться, что приводит к пропущенным крайним срокам, что приводит к отключению звука. Статические или динамические (virtual
) вызовы C++ и вызовы функций C, конечно, постоянное время и подходят для контекстов реального времени.
Если бы не были в режиме реального времени/аудио обратного вызова, то один из вариантов было бы передать self
как пользователь информации или контекста параметра:
void SomeCallback(t_stuff* const stuff, void* userInfo) {
MONClass * Self = (MONClass*)userInfo;
[Self doSomething];
}
предоставить более подробную информацию, самовывозом вы имеете в виду ваш класс не так ли? вы не можете просто [само сообщение]? так как даже если его функцию c вы можете добавить объективный код c. или самим собой, вы имеете в виду вашу функцию, как в рекурсии? – Pochi
Возможный дубликат [Вызов функции Objective C из кода C++] (http://stackoverflow.com/questions/6958685/calling-a-objective-c-function-from-c-code) – Caleb