AudioPlaybackComplete使用未声明的标识符自调用方法

时间:2012-09-10 20:55:55

标签: iphone ios ipad core-audio

当我从AudioPlaybackComplete调用任何方法时,我正在使用未声明的标识符自我错误。你们中的任何人都知道为什么或如何修复?

static void AudioPlaybackComplete(SystemSoundID  ssID, void *data)
{
        [self doSomething]; /// error use of undeclared identifier self 

}

2 个答案:

答案 0 :(得分:2)

您需要使用数据指针* data传递对象(您想要通过self引用的对象)。直接指向对象(然后将其强制转换回适当的类/类型的对象以供使用),或者将对象作为* data指向的C结构的元素传递。

Objective C方法调用也是这样做的,但是编译器会自动传递并设置self,而不是通过编码来显式隐藏。由于您使用的是C函数,因此您必须自己编写代码。

答案 1 :(得分:1)

你在静态函数中调用self - self指的是类的特定实例。