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のメソッド呼び出しもこれを行いますが、自分自身を自動的に渡して設定し、コード化することによって明示的にではなく、コンパイラーによってビューから隠されます。C関数を使用しているため、これを自分でコーディングする必要があります。

于 2012-09-11T02:14:59.433 に答える
1

静的関数内からselfを呼び出しています。selfはクラスの特定のインスタンスを指します。

于 2012-09-10T21:17:28.893 に答える