0

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

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

}
4

2 回答 2

2

您需要使用数据指针 *data 传递对象(您希望自己引用的对象)。要么直接指向对象(然后将其转换回适当类/类型的对象以供使用),要么将对象作为 *data 指向的 C 结构的元素传入。

Objective C 方法调用也可以做到这一点,但自动传递和设置 self 并被编译器隐藏,而不是显式地对其进行编码。由于您使用的是 C 函数,因此您必须自己编写代码。

于 2012-09-11T02:14:59.433 回答
1

您正在从静态函数中调用 self - self 是指该类的特定实例。

于 2012-09-10T21:17:28.893 回答