AudioManager
タイプのメンバーを持つクラスがありAudioBufferList *
ます。(これはCoreAudio
フレームワークで宣言された構造体です)。AudioBufferList
ではないのでNSObject
、保持できません。そのため、割り当て/解放する必要があります(間違っている場合は修正してください)。
私の質問は、それを解放するための「正しい」場所はどこにあるのかということです。dealloc
現在、の方法でやっていAudioManager
ます。私が正しく理解していれば、メッセージが---release
のインスタンスに送信されると、このメソッドは自動的に呼び出されます。それは本当ですか?AudioManager
Objective-Cオブジェクトの非オブジェクトメンバーでalloc/freeを使用することに関して他に推奨される方法はありますか?
編集:
Applesのドキュメントから:
サブクラスは、独自のバージョンのdeallocを実装して、オブジェクトによって消費される追加のメモリを解放できるようにする必要があります。たとえば、データ用に動的に割り当てられたストレージや、割り当て解除されたオブジェクトが所有するオブジェクトインスタンス変数などです。クラス固有の割り当て解除を実行した後、サブクラスメソッドは、次のメッセージを介してスーパークラスバージョンのdeallocを組み込む必要があります。
これにより、状況が少し明確になりますが、より多くの洞察が得られます。