полностью зависит от API;если API вызывает функцию, блок или метод, это то, что вы должны использовать.
Пока тип функции обратного вызова имеет вид:
void (*hollabackman)(AudioGunk*foo, void*context);
И API для настройкидо обратного вызова что-то вроде:
setCallback(hollabackman func, void *context);
Тогда вы можете:
- myMethod
{
setCallback(&myCallbackFunc, (void *)self);
}
- (void) hollaedBack: (AudioGunk*) aGunk
{
.....
}
Затем:
void myCallbackFunc(AudioGunk *foo, void *context)
{
MyClass *self = (MyClass *) context;
[self hollaedBack: foo];
}
Я бы предложил вам retain
себя, когданастроить обратный вызов и сбалансировать его только с release
, когда вы снимаете обратный вызов.